Напишите программу,которая вводит с клавиатуры натуральное число n и определяет его факториал,т.е произведение натуральный чисел от 1 до n: n! =1*2*3**n.что будет,если ввести большое значение n.
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