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 - машинная бесконечность.
Program massa;var m, a: real; begin writeln('Введите массу.'); readln(m); writeln('Введите единицу измерения массы. 1 - килограмм, 2 - миллиграмм, 3 - грамм, 4 - тонна, 5 - центнер.'); readln(a); writeln('Введённое вами значение равно '); if a=1 then write(m, ' килограмм.'); if a=2 then write(m/1000000, ' килограмм.'); if a=3 then write(m/1000, ' килограмм.'); if a=4 then write(m*1000, ' килограмм.'); if a=5 then write(m*100, ' килограмм.'); end.
меее, немного с окончаниями напортачила, но если надо, то можно просто до кг сократить и всё будет ок
Внимание! Если программа не работает, обновите версию!
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 - машинная бесконечность.
меее, немного с окончаниями напортачила, но если надо, то можно просто до кг сократить и всё будет ок