Найти произведение чисел в диапазоне от 2 до k В PascalABC.NET

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

Найти произведение чисел в диапазоне от 2 до k
В PascalABC.NET


image

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

Обновите сборку, эта устарела, причем очень сильно.

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

1. По-современному, для чего этот язык и создавался

begin
  var k:=ReadInteger('k=');
  Writeln(2.To(k).Aggregate(BigInteger(1),(p,q)->p*q))
end.

Примеры
k= 10
3628800

k= 137
5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000

2. По-старинке, т.е. используя этот язык, как Турбо Паскаль четвертьвековой давности

var
  i,k:integer;
  p:real;

begin
  Write('k= '); Read(k);
  p:=1;
  for i:=2 to k do p:=p*i;
  Writeln(p)
end.

Примеры
k= 10
3628800

k= 137
5.01288874827499E+234
(142k баллов)
0

Дело в том,что именно эту сборку мы используем при работе в школе,на уроках информатики

0

Верю. Но я ничего вроде не использовал такого, что в этой сборке не пройдет.

0

Ну и намекните учителю, что за прошедшее время было выловлено и устранено множество ошибок. И появилось множество вкусняшек.

0

Например, с этого года можно возводить в степень вот так: a**b

0

С середины ноября в поставку вошла новая мощная стандартная библиотека численных методов. И так далее.

0

Я думаю это слишком тяжко переучить сотню учеников

0

Неправильно думаете.