Bir ədədin faktoriyalı -dən -ə qədər olan ədədlərin hasilinə bərabərdir:
Yadda saxlamaq lazımdır ki, sıfırın faktoriyalı birdir:
Məsələn:
Müşahidə edək ki, məsələn:
Faktoriyalı ya dövr vasitəsilə, ya da rekursiya vasitəsilə hesablamaq olar. İkinci halda rekursiya ilə verilən formuldan istifadə etməliyik:
Algoritmin realizasiyası
Giriş dəyəri -i oxuyuruq.
scanf("%lld",&n);Faktoriyal res = n! = 1 \cdot 2 \cdot 3 \cdot ... \cdot n hesablayırıq.
res = 1;
for(i = 1; i <= n; i++)
res = res * i;Nəticəni çıxışa veririk.
printf("%lld\n",res);Algoritmin realizasiyası — rekursiya
fact funksiyası ədədinin faktoriyalını hesablayır.
long long fact(long long n)
{
if (n == 0) return 1;
return fact(n - 1) * n;
}Proqramın əsas hissəsi. Giriş dəyəri -i oxuyuruq.
scanf("%lld",&n);Nəticəni hesablayırıq və çıxışa veririk.
res = fact(n);
printf("%lld\n",res);Java realizasiyası — rekursiya
import java.util.*;
public class Main
{
static long fact(int n)
{
if (n == 0) return 1;
return fact(n - 1) * n;
}
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
long res = fact(n);
System.out.println(res);
con.close();
}
}Python realizasiyası — dövr
Giriş dəyəri -i oxuyuruq.
n = int(input())Faktoriyal res = n! = 1 \cdot 2 \cdot 3 \cdot ... \cdot n hesablayırıq.
res = 1
for i in range(1,n+1):
res *= iNəticəni çıxışa veririk.
print(res)Python realizasiyası — rekursiya
fact funksiyası ədədinin faktoriyalını hesablayır.
def fact(n):
if n == 0: return 1
return n * fact(n - 1)Proqramın əsas hissəsi. Giriş dəyəri -i oxuyuruq.
n = int(input())Nəticəni hesablayırıq və çıxışa veririk.
print(fact(n))