Вот такая хрень: Вычислить n-факториал S: =0; P:=1 P:= 1*2*3; read ------
volvo
18.02.2008 23:34
Эта программа уже написана давным давно. Зайди в поиск и посмотри по слову "факториал", там каких только программ нет. И рекурсия, и итерация, и с длинными числами...
Гость
9.03.2008 15:51
зачем тибе програму целую держи функкцию которая считает факториал
function inf(x:integer):real; Var s:real; i:integer; begin s:=1; for i:=1 to x do s:=i*s; inf:=s; end;
amega
9.03.2008 15:51
зачем тибе програму целую держи функкцию которая считает факториал
function inf(x:integer):real; Var s:real; i:integer; begin s:=1; for i:=1 to x do s:=i*s; inf:=s; end;
volvo
9.03.2008 16:14
Цитата
зачем тибе програму целую держи функкцию которая считает факториал
А можно пример, как с помощью этой функции получить все цифры, ну скажем "25!" ? Не приблизительно, а точно. Вот меня, например, интересует 3 последних отличных от нуля цифры этого числа...
amega
9.03.2008 16:41
если я вас правильно понял то ви хотите увидить полностю 25!
function inf(x:integer):real;
Var s:real;
i:integer;
begin
s:=1;
for i:=1to x do s:=i*s;
inf:=s;
end;
var c:real;
n:integer;
begin
writeln('Введите чило факториала');{в вашем случае 25}
Readln(n);
c:=inf(n);
writeln('c=',c:1:0);
readln;
end.
Вот оно вам виведет полностю 25! что становит 15511210043000000000000000
Archon
9.03.2008 19:10
Цитата
Вот оно вам виведет полностю 25! что становит 15511210043000000000000000
Да, а уже стандартный виндовский калькулятор выдаст 15511210043330985984000000
amega
9.03.2008 22:31
Точность типа real - 11-12 single - 7-8 Double - 15-16 Extended - 19-20
volvo
9.03.2008 22:38
Угу. Где-то в задании ты видел что-нибудь про точность? Не интересует конечного пользователя точность, понимаешь? Не интересует...
Есть результат: 25! = 15511210043330985984000000. И твоя функция может его либо выдать, либо не выдать. Третьего не дано. Твоя функция этого результата не выдает, значит, она работает неправильно.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.