Номер §1.2 № 7

ГДЗ по информатике 9 класс, Босова 2023, страница 30

§. № Факториал и сумма

Напишите программу вычисления выражения s=1!+2!+3!+…+n!s=1!+2!+3!+\ldots+n!. Здесь n!n! — факториал числа n. n!=1⋅2⋅…⋅(n−1)⋅nn!=1\cdot2\cdot\ldots\cdot(n-1)\cdot n. Используйте функцию вычисления факториала.

Решение

По определению факториала в условии функция должна перемножить целые числа от до k. Она возвращает это произведение, а основная программа вызывает её для каждого слагаемого суммы. Число n вводится с клавиатуры; рассматриваем натуральное n.

var n, i: integer; s: int;

function fact(k: integer): int;
var j: integer; p: int;
begin
  p := ;
  for j :=  to k do p := p * j;
  fact := p
end;

begin
  readln(n);
  s := ;
  for i :=  to n do s := s + fact(i);
  writeln(s)
end.

В fact начальное произведение равно — нейтральному элементу умножения. Цикл умножает его на , , …, k; присваивание имени fact передаёт результат в основную программу. Второй цикл прибавляет факториалы по одному. Например, при n = : , , , . Промежуточные суммы: , , , . Тип int подходит для небольших n; при очень больших n потребуется хранение чисел большей длины.

Ответ

Программа приведена в решении; при n = она выводит .

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото