Перевод факториала в двоичную систему - Turbo Pascal

Формулировка задачи:

Привет всем. Нужна программа, которая переводит факториал в двоичную систему. Желательно. чтобы при переводе каждая цифра (1 и 0 соответственно) находилась в отдельной ячейки массива.
Var a,a2:array[1..100000000] of int64;
 i,j,b,t,n,c:longint;
 x:int64;
 
 begin
 clrscr;
 Read(n);
 a[1]:=1;
 t:=1;
 b:=1;
 for i:=1 to n do
 begin
 x:=0;
 for j:=1 to t do
 begin
 x:=x+a[j]*b;
 a[j]:=x mod 10;
 x:=x div 10;
 end;
 while x>0 do
 begin
 inc(t);
 a[t]:=x mod 10;
 x:=x div 10;
 end;
 inc(b);
 end;
 Write(a[t]);
 for i:=t-1 downto 1 do
 begin
 Write(a[i]);
 end;
 end.
Добавлено через 21 минуту Переформулирую задачу. Вводится факториал какого-то числа. И мне нужно получить факториал этого числа в двоичной системе счисления, причём, чтобы каждая цифра (1 или 2 соответственно) была в отдельной ячейке массива. Например, ввожу 8 и получаю 1001110110000000 Добавлено через 1 час 1 минуту Вводимое число в диапазоне от 1 до 10000

Код к задаче: «Перевод факториала в двоичную систему - Turbo Pascal»

textual
begin
 ...
 
 Readln(a);
 
 count2:=0;
 while (a>1) do begin
   a:=a div 2;
   inc(count2,a);
   end;
 
 WriteLn(count2);
 
 ...
end.

10   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ