Напечатать все цифры, которые перемножаются при вычислении факториала

Татьянна

как напечатать (вывести) все цифры, которые перемножаются при вычислении факториала?
3 ответа

Татьянна

вот так: Write('0123456789')


Татьянна

гениально , а если я вычисляю факториал числа 12 (('0123456789')) не хватает данных чисел. ну может я неправильно сформулировала задачку. Вот: Дано произвольное натуральное число N. Напечатать все цифры десятичной записи числа N!.


Татьянна

Да, Вы формулируете неправильно, потому что поставили две разные задачи под видом одной:* Напечатать все цифры десятичной записи числа N! Псевдо-дельфи-код:
function factorial(x: byte) : integer;
begin if x=0 then factorial:=1 else factorial:=x*factorial(x-1) end;
procedure figures(var f : set of chat; x : integer);
begin while x>0 do begin include(f,Char(x mod 10+48)); x:=x div 10 end end;
var ff : set of char; i : char; N : byte;
{ ... }
figures(ff,factorial(N));
for i:='0' to '9' do if i in ff then write(i); // вывод
* Напечатать все цифры десятичной записи чисел, которые входят в запись N!=N*(N-1)*...*2*1 (при N>9 всегда "0123456789")
procedure figures(var f : set of chat; x : integer);
begin while x>0 do begin include(f,Char(x mod 10)+48); x:=x div 10 end end;
var ff, ffC: set of char; i: char; N: byte;
{...}
while N>0 do
begin
    figures(ffC, N);
    ff:=ff+ffC;
    dec(N);
end;
for i:='0' to '9' do if i in ff then write(i);
* Напечатать все цифры десятичной записи чисел, которые входят в запись N!=N*(N-1)*...*2*1 с учётом кратности вхождения.