Рубрики

Программа для факториала ряда

Факториал неотрицательного целого числа — это умножение всех целых чисел, меньших или равных n. Например, факториал 6 равен 6 * 5 * 4 * 3 * 2 * 1, что равно 720.

Рекурсивное решение:
Факториал можно рассчитать по следующей рекурсивной формуле.

  n! = n * (n-1)!
  n! = 1 if n = 0 or n = 1 

Ниже приводится реализация факториала.

C ++

// C ++ программа для поиска факториала с заданным числом
#include<iostream>

using namespace std;

  
// функция, чтобы найти факториал данного числа

unsigned int factorial(unsigned int n)

{

    if (n == 0)

    return 1;

    return n * factorial(n - 1);

}

  
// Код драйвера

int main()

{

    int num = 5;

    cout << "Factorial of " << num << " is " << factorial(num) << endl;

    return 0;

}

  
// Этот код предоставлен Shivi_Aggarwal

С

// C программа для поиска факториала с заданным числом
#include<stdio.h>

  
// функция, чтобы найти факториал данного числа

unsigned int factorial(unsigned int n)

{

    if (n == 0)

      return 1;

    return n * factorial(n - 1);

}

  

int main()

{

    int num = 5;

    printf("Factorial of %d is %d", num, factorial(num));

    return 0;

}

Джава

// Java программа для поиска факториала с заданным числом

class Test

{

    // метод для нахождения факториала заданного числа

    static int factorial(int n)

    {

        if (n == 0)

          return 1;

          

        return n*factorial(n-1);

    }

      

    // Метод драйвера

    public static void main(String[] args) 

    {

        int num = 5;

        System.out.println("Factorial of "+ num + " is " + factorial(5));

    }

}

python3

# Python 3 программа для поиска
# факториал заданного числа

def factorial(n):

      

    # единственная строка для поиска факториала

    return 1 if (n==1 or n==0) else n * factorial(n - 1); 

  
Код водителя

num = 5;

print("Factorial of",num,"is",

factorial(num))

  
# Этот код предоставлен Смитой Динеш Семвал

C #

// C # программа для поиска факториала
// данного числа

using System;

  

class Test

{

    // метод поиска факториала

    // данного числа

    static int factorial(int n)

    {

        if (n == 0)

        return 1;

          

        return n*factorial(n-1);

    }

      

    // Метод драйвера

    public static void Main() 

    {

        int num = 5;

        Console.WriteLine("Factorial of "

          + num + " is " + factorial(5));

    }

}

  
// Этот код предоставлен vt_m

PHP

<?php
// PHP программа для поиска факториала
// данного числа

  
// функция для поиска факториала
// данного числа

function factorial($n)

{

    if ($n == 0)

        return 1;

    return $n * factorial($n - 1);

}

  

    // Код драйвера

    $num = 5;

    echo "Factorial of ",$num," is "

                 , factorial($num);

  
// Этот код предоставлен m_kit
?>

Выход:

Factorial of 5 is 120

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

C ++

// C ++ программа для факториала числа
#include<iostream>

using namespace std;

  
// функция, чтобы найти факториал данного числа

unsigned int factorial(unsigned int n)

{

    int res = 1, i;

    for (i = 2; i <= n; i++)

        res *= i;

    return res;

}

  
// Код драйвера

int main()

{

    int num = 5;

    cout << "Factorial of " << num << " is " << factorial(num) << endl;

    return 0;

}

  
// Этот код предоставлен Shivi_Aggarwal

С

#include<stdio.h>

  
// функция, чтобы найти факториал данного числа

unsigned int factorial(unsigned int n)

{

    int res = 1, i;

    for (i = 2; i <= n; i++)

        res *= i;

    return res;

}

  

int main()

{

    int num = 5;

    printf("Factorial of %d is %d", num, factorial(num));

    return 0;

}

Джава

// Java программа для поиска факториала с заданным числом

class Test

{

    // Метод нахождения факториала заданного числа

    static int factorial(int n)

    {

        int res = 1, i;

        for (i=2; i<=n; i++)

            res *= i;

        return res;

    }

      

    // Метод драйвера

    public static void main(String[] args) 

    {

        int num = 5;

        System.out.println("Factorial of "+ num + " is " + factorial(5));

    }

}

python3

# Python 3 программа для поиска
# факториал заданного числа

def factorial(n):

      

    # единственная строка для поиска факториала

    return 1 if (n==1 or n==0) else n * factorial(n - 1); 

  
Код водителя

num = 5;

print("Factorial of",num,"is",

factorial(num))

  
# Этот код предоставлен Смитой Динеш Семвал

C #

// C # программа для поиска
// факториал заданного числа

using System;

  

class Test

{

    // Метод поиска факториала

    // данного числа

    static int factorial(int n)

    {

        int res = 1, i;

      

        for (i = 2; i <= n; i++)

            res *= i;

        return res;

    }

      

    // Метод драйвера

    public static void Main() 

    {

        int num = 5;

        Console.WriteLine("Factorial of " +

               num + " is " + factorial(5));

    }

}

  
// Этот код предоставлен vt_m

PHP

<?php

  
// функция для поиска факториала
// данного числа

function factorial( $n)

{

    $res = 1; $i;

    for ($i = 2; $i <= $n; $i++)

        $res *= $i;

    return $res;

}

  
// Код драйвера

$num = 5;

echo "Factorial of ", $num, " is "

                    factorial($num);

  
// Этот код добавлен
// от anuj_67.
?>

Выход :

Factorial of 5 is 120

Временная сложность указанных решений составляет O (n).

Решение в одну строку (с использованием тернарного оператора):

C ++

// C ++ программа для поиска факториала с заданным числом
#include<iostream>

  

int factorial(int n)

{

    // одна строка для поиска факториала

    return (n==1 || n==0) ? 1: n * factorial(n - 1); 

}

  
// Код драйвера

int main()

{

    int num = 5;

    printf ("Factorial of %d is %d", num, factorial(num));

    return 0;

}

  
// Этот код предоставлен Rithika palaniswamy.

Джава

// Java программа для поиска факториала
// данного числа

class Factorial {

  

 int factorial(int n)

  {

  

    // одна строка для поиска факториала

    return (n == 1 || n == 0) ? 1 : n * factorial(n - 1);

  

  }

  

  

  // Код драйвера

  public static void main(String args[])     

  {

    Factorial obj = new Factorial();

    int num = 5;

    System.out.println("Factorial of " + num + 

                      " is " + obj.factorial(num));

   }

}

  
// Этот код предоставлен Аншикой Гоял.

python3

# Python 3 программа для поиска
# факториал заданного числа

  

def factorial(n):

  

    # единственная строка для поиска факториала

    return 1 if (n==1 or n==0) else n * factorial(n - 1

  

  
Код водителя

num = 5

print ("Factorial of",num,"is",

      factorial(num))

  
# Этот код добавлен
# Смита Динеш Семвал.

C #

// C # программа для поиска факториала
// данного числа

using System;

  

class Factorial {

  

    int factorial(int n)

    {

      

        // одна строка для поиска факториала

        return (n == 1 || n == 0) ? 1 :

                        n * factorial(n - 1);

      

    }

      

    // Код драйвера

    public static void Main() 

    {

        Factorial obj = new Factorial();

        int num = 5;

          

        Console.WriteLine("Factorial of " + num + 

                        " is " + obj.factorial(num));

    }

}

  
// Этот код предоставлен vt_m.

PHP

<?php
// PHP программа для поиска факториала
// данного числа

  

function factorial( $n)

{

      

    // одна строка для поиска факториала

    return ($n == 1 || $n == 0) ? 1: 

             $n * factorial($n - 1); 

}

  

    // Код драйвера

    $num = 5;

    echo "Factorial of " , $num, " is ", factorial($num);

  
// Этот код предоставлен anuj_67.
?>

Выход:

Factorial of 5 is 120

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

Пожалуйста, пишите комментарии, если вы обнаружите какую-либо ошибку в приведенном выше коде / алгоритме, или найдете другие способы решения той же проблемы

Рекомендуемые посты:

Программа для факториала ряда

0.00 (0%) 0 votes