Написать программу, которая вычисляет факториал числа, введенного с клавиатуры (используя цикл с параметром).
язык - pascal
Answers & Comments
fvnfvnfvnfvn
Program E9; var p, i, n: integer; begin write ('введите целое n = '); readln (n); p: = 1; for i: = 1 to n do p: = p * i; write (n, '! = ',p); readln end.
12 votes Thanks 30
HRAshton
Var y: System.uint64; //Большая цЫфра же и положительная x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет
begin readln(x); //Принимаем число... y := 1; for i := 1 to x do y *= i; //...и умножаем такое-то количество раз if (y = 0) then //Выводим, предусмотрев переполнение writeln('Слишком большая цЫферка') else writeln(y); end. ========================================== Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64
4 votes Thanks 2
HRAshton
Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64
Answers & Comments
var p, i, n: integer;
begin
write ('введите целое n = ');
readln (n);
p: = 1;
for i: = 1 to n do
p: = p * i;
write (n, '! = ',p);
readln
end.
y: System.uint64; //Большая цЫфра же и положительная
x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет
begin
readln(x); //Принимаем число...
y := 1;
for i := 1 to x do
y *= i; //...и умножаем такое-то количество раз
if (y = 0) then //Выводим, предусмотрев переполнение
writeln('Слишком большая цЫферка')
else
writeln(y);
end.
==========================================
Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64