• Предмет: Информатика
  • Автор: arutunyantatevi
  • Вопрос задан 7 лет назад

Напишите программу,которая вводит с клавиатуры натуральное число N и определяет его факториал,т.е произведение натуральный чисел от 1 до N:N!=1*2*3*...*N.Что будет,если ввести большое значение N.

Ответы

Ответ дал: pokemanbr
0
program fakt;
var
   n,i,z:integer;
begin
   readln(n);
   z:=1;
   for i:=2 to n do
      z:=z*i;
   writeln(z);
end.

Если программу написать так, то максимальный факториал, которой мы сможем вычислить - 12. Можно integer изменить на real, тогда чуть больше сможем вычислить. Так же можно вычислить через массив, тогда где-то 3000 мы сможем получить.

Если же ввести больше 12 в этой программе, то получится переполнение переменой, из-за чего число пойдёт "по кругу". Т.е. мы получим не 3 000 000 000, а -1 000 000 000, т.к. максимальное число у integer - примерно 2 000 000 000
Вас заинтересует