Составить программу в Pascal: найдите произведение чисел 58 до 158 с шагом 1.

0 голосов
43 просмотров

Составить программу в Pascal: найдите произведение чисел 58 до 158 с шагом 1.


Информатика (12 баллов) | 43 просмотров
0

Составить можно, а посчитать - нет. Это будет величина, которую нельзя описать стандартными числовыми типами Паскаль.

0

Вот точное значение этого произведения: 457294038662549365929435095058940890333414400806173897009265705506718642824532954846288099951198603851034396810728856568854588703677264999642066618690543568325125692088701450977280000000000000000000000000

Дан 1 ответ
0 голосов

Alviko прав, однако мы тут не благородные влюблённые, чтобы, в случае отказа, не надоедать, посему попытаться стоит, пусть и с PascalABC.NET:

var

  a: System.Numerics.BigInteger := new System.Numerics.BigInteger(1);
  i: integer;
  
begin
  for i := 58 to 158 do
    a := a * i;
  writeln(a);
end.

(16.9k баллов)
0

Не думаю, что задание давали, ориентируясь на System.Numerics, тем более, что это даже не паскалевская библиотека, а дотнетовская - не учат этого в школах. Скорее всего, просто не подумали о величине результата. Ну и еще, было бы неплохо инициализировать а единицей, иначе программа Ваша ноль выдаст в ответе.

0

Такие задания даются как правило на первом курсе института. Решаются они использованием строк для хранения чисел.

0

Да, только как минимум надо вводить две процедуры для арифметики на символьной строке - преобразование констант и умножение. А умножение требует предварительного выравнивания операндов по длине. Не факт, что каждый первокурсник это умеет.