the_king
مدیرکل انجمن
کد برنامه زیر اعداد موجود در فایل ورودی متنی FACTORIA.IN را خوانده و پس از
محاسبه آنها بصورت مجموع مضربی از فاکتوریل ها در فایل خروجی FACTORIA.OUT می نویسد.
به عنوان مثال عدد 10 را می توان بصورت زیر هم نوشت :
محاسبه آنها بصورت مجموع مضربی از فاکتوریل ها در فایل خروجی FACTORIA.OUT می نویسد.
به عنوان مثال عدد 10 را می توان بصورت زیر هم نوشت :
کد:
10 = 0 * 1! + 2 * 2! + 1 * 3!
کد:
program factorial_base;
var
infile,outfile:text;
n,k,d:integer;
begin
assign(infile,'factoria.in');
reset(infile);
assign(outfile,'factoria.out');
rewrite(outfile);
while not eof(infile) do
begin
readln(infile,n);
write(outfile,n,' = ');
k:=1;
repeat
if k>1 then write(outfile,' + ');
d:=n mod (k+1);
write(outfile,d,' * ',k,'!');
n:=(n-d) div (k+1);
k:=k+1;
until n=0;
writeln(outfile);
end;
close(infile); close(outfile);
end.