Тупой7А
21.03.2021 03:25

Вычислить значение n! (n - натуральное, цикл while)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Никита0897882969
28.06.2020 15:54
Program asd;
USES crt;
var n,s,q: integer;
BEGIN
Clrscr;
Write('Vvedite n ');
Readln(n);
S:=1;
Q:=1;
while q<n do
begin
q:=q+1;
s:=s*q;
end;
writeln('Otvet: ',s);
Readln;
END.
0,0(0 оценок)
Ответ:
yulis1929
28.06.2020 15:54
Дело в том, что факториал числа представляет собой довольно большое значение, которое не влазит в ячейку real, если вводить даже не очень большие числа.
Для чисел, не превышающих 170:

uses crt;var f:real;
    x,n:integer;
begin
     f:=1;
     write('N='); readln(N);
     if N<0 then writeln('ERROR!') else
     if N=0 then writeln('N!=',1)
     else begin
         for x:=2 to N do
              f:=f*x;
         writeln('N!=',f); end;
    readln;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота