Предмет: Информатика, автор: Riku24

15 БАЛЛОВ. Произведение чисел:


Помогите составить код, который будет САМ умножать все числа по порядку. Мы выбираем первое число, а потом последнее.
К примеру:
Выбрали число 1 и 2018.
Нужно узнать произведение чисел:
1*2*3*4*5*...*2018

Языки желательно:
C++, PascalABC, Free Pascal, C#


Riku24: Пожалуй, у тебя правильнее))

Ответы

Автор ответа: AlexanderMikhailov
1
a,b = int(input(Начальное число: )), int(input(Конечное число: )) 
s = 1 
for i in range(a,b+1): s *= i 
print(s)

AlexanderMikhailov: Ну да ладно
AlexanderMikhailov: Но код рабочий
Riku24: Но питон!
:D
Riku24: Это мне надо будет среду под него качать.
AlexanderMikhailov: Питон - самый лучший ЯП(нет)
Riku24: А не, Eclipse вроде-бы подходит..
AlexanderMikhailov: Эм.. не знаю такого
Riku24: Eclipse.. программа, среда разработки.. подходит для Java и оказывается еще для Python'a
AlexanderMikhailov: У меня Пайчарм
Автор ответа: Аноним
1
1. PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (a,b):=ReadInteger2;
  Range(a,b).Aggregate(Biginteger(1),(p,q)->p*q).Println
end.

Результат показан во вложении 1. Большое число получилось)))

2. Free Pascal

program ideone;

var
  a,b,i:integer;
  p:extended;

begin
  Read(a,b);
  p:=1;
  for i:=a to b do p:=p*i;
  Writeln(p)
end.

Результат приведен во вложении 2.
К сожалению, на интервале данных [1;2018] в этой версии Паскаля недостаточно диапазона значений представляемого результата и было вычислено произведение на [1;1000]. Для [1;2018] выводится Inf - машинная бесконечность.
Приложения:

Riku24: Ну так это мой вопрос, не могу я нажать на эту кнопку ;D
nelle987: У меня на ближайшем ноуте (pascalabc.net через mono, как предлагается на сайте; python3) для 10000 повторений 24.406s pABC vs 14.470s py3. Были бы тесты с разными a, b, питон был бы медленнее, конечно, да и запуск c mono скорее всего замедляет, но всё же.
Похожие вопросы
Предмет: Геометрия, автор: yeskenovtemirkhan