Объяснение:
#include <iostream>
using namespace std;
long double fact(int N)
{
if(N < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (N == 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)
else // Во всех остальных случаях
return N * fact(N - 1); // делаем рекурсию.
}
int main()
{
int N;
setlocale(0,""); // Включаем кириллицу
cout << "Введите число для вычисления факториала: ";
cin >> N;
cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.
return 0;
}
var
x, y, t, c, n, k: integer;
a: array [1..10] of integer;
begin
for t := 1 to 10 do
a[t] := 0;
read(x, y);
t := x;
while (t <> 0) do
begin
c += 1;
t := t div 10;
end;
k := 1;
for t := 1 to c do
k *= 10;
while (x <> 0) do
begin
n := y;
t := x div k;
while (n <> 0) do
begin
c := n mod 10;
n := n div 10;
if (c = t) and (a[c + 1] = 0) then
begin
write(t, ' ');
a[c + 1] += 1;
break;
end;
end;
x := x mod k;
k := k div 10;
end;
end.