Написать программу на Паскале, которая считает произведение чисел, которые больше введенного числа, до 100. Числа только положительные.
Написать программу на Паскале, которая считает произведение чисел, которые больше введенного числа, до 100. Числа только положительные.
Ответ(ы) на вопрос:
Гость
var s: real;
a,x:integer;
begin
writeln('введите целое число');
readln(a);
s := 1;
a := a + 1;
for x := a to 100 {или 99, зависит от того, включается 100 или нет} do begin
s := s * a;
a := a + 1;
end;
writeln(s);
end.
Гость
Решение с использование длинной арифметики.
var
i, j, n, len, rem: integer;
a: array[1..200] of byte;
begin
write('Введите число: ');
read(n);
len := 1;
a[1] := 1;
for i := n + 1 to 99 {100} do
begin
for j := 1 to len do
begin
rem := a[j] * i + rem;
a[j] := rem mod 10;
rem := rem div 10;
end;
while rem > 0 do
begin
inc(len);
a[len] := rem mod 10;
rem := rem div 10;
end;
end;
writeln('Произведение чисел из интервала (', n, '; 100): ');
for i := len downto 1 do write(a[i]);
end.
Пример работы программы:
Введите число: 1
Произведение чисел из интервала (1; 100):
1948348720420644788695888257080283249381963823594360049498643927185579338215778728274424636079639781709574621897447185108592230400000000000000000000
Не нашли ответ?
Похожие вопросы