В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
moonlight2812
moonlight2812
11.06.2021 03:49 •  Информатика

Написать программу на паскале используя подпрограмму (функцию или процедуру), которая вычисляет факториал (x! +y! )*z! заранее !

Ответ:
lizasereda05
lizasereda05
10.09.2020 10:20
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?