Факториал числа без использования умножения

Опубликовано: 22 Сентября, 2022

Учитывая положительное число N , задача состоит в том, чтобы вычислить факториал N без использования оператора умножения.

Примеры:

Input: N = 5
Output:
120
Explanation:
5*4*3*2*1=120

Input: N = 7
Output:
5040

Наблюдение:

A*B=A+A+A+A...B times.

This observation can be used as follows:
5!=5*4*3*2*1
=(5+5+5+5)*3*2*1
=(20+20+20)*2*1
=60+60
=120

Подход: проблему можно решить, используя концепцию вложенных циклов. Вместо использования оператора умножения ответ можно вычислить вручную, используя другой цикл. Выполните следующие шаги, чтобы решить проблему:

  1. Инициализировать переменную и N .
  2. Перейдите от N-1 к 1 , используя переменную i, и сделайте следующее:
    • Инициализируйте переменную sum равным 0 .
    • Итерируйте от 0 до i-1, используя переменную j , и добавьте ответ к сумме
    • Добавьте сумму к ответу .
  3. Распечатать ответ .

Ниже приведена реализация вышеуказанного подхода

Временная сложность: O(N 2 )
Вспомогательное пространство: O(1)