Предмет: Информатика,
автор: Riku24
15 БАЛЛОВ. Произведение чисел:
Помогите составить код, который будет САМ умножать все числа по порядку. Мы выбираем первое число, а потом последнее.
К примеру:
Выбрали число 1 и 2018.
Нужно узнать произведение чисел:
1*2*3*4*5*...*2018
Языки желательно:
C++, PascalABC, Free Pascal, C#
Riku24:
Пожалуй, у тебя правильнее))
Ответы
Автор ответа:
1
a,b = int(input(Начальное число: )), int(input(Конечное число: ))
s = 1
for i in range(a,b+1): s *= i
print(s)
s = 1
for i in range(a,b+1): s *= i
print(s)
:D
Автор ответа:
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 - машинная бесконечность.
Внимание! Если программа не работает, обновите версию!
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 - машинная бесконечность.
Приложения:


Похожие вопросы
Предмет: Українська мова,
автор: agerbolka
Предмет: Геометрия,
автор: yeskenovtemirkhan
Предмет: Другие предметы,
автор: aynurmammedova81
Предмет: Математика,
автор: anastasya124