Предмет: Информатика,
автор: arutunyantatevi
Напишите программу,которая вводит с клавиатуры натуральное число N и определяет его факториал,т.е произведение натуральный чисел от 1 до N:N!=1*2*3*...*N.Что будет,если ввести большое значение N.
Ответы
Автор ответа:
5
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
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
Похожие вопросы
Предмет: Алгебра,
автор: evsneva2004
Предмет: Алгебра,
автор: ariell3996
Предмет: Русский язык,
автор: tepacaw477
Предмет: Математика,
автор: ПлохаяОтличница
Предмет: Физика,
автор: Лина04022006