Вопрос по информатике:
Написать программу на паскале используя подпрограмму (функцию или процедуру), которая вычисляет факториал (x!+y!)*z!
Заранее спасибо!
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 27.09.2018 05:11
- Информатика
- remove_red_eye 13884
- thumb_up 5
Ответы и объяснения 1
function f(n:integer):real;
var
p:real;
i:integer;
begin
p:=1;
for i:=1 to n do p:=p*i;
f:=p
end;
var
x,y,z:integer;
begin
Write('Введите x,y,z через пробел: ');
Read(x,y,z);
Writeln((f(x)+f(y))*f(z))
end.
Примеры
Введите x,y,z через пробел: 8 12 5
57485030400
Введите x,y,z через пробел: 23 15 41
8.64815278005251E+71
2. Современное решение
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var f:integer->BigIinteger:=n->1.To(n).Aggregate(BigInteger(1),(x,y)->x*y);
var (x,y,z):=ReadInteger3('Введите x,y,z через пробел:');
Writeln((f(x)+f(y))*f(z))
end.
Примеры
Введите x,y,z через пробел: 8 12 5
57485030400
Введите x,y,z через пробел: 23 15 41
864815278005250908694716268480895614135710289321049211273216000000000000
- 28.09.2018 20:38
- thumb_up 21
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.