V tomto příkladu se naučíte vypočítat faktoriál čísla zadaného uživatelem.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- C datové typy
- Programovací operátoři C.
- C pokud … jiné prohlášení
- C pro smyčku
Faktoriál kladného čísla n je dán vztahem:
factorial of n (n!) = 1 * 2 * 3 * 4… .n
Faktoriál záporného čísla neexistuje. Faktoriál 0 je 1.
Faktoriál čísla
#include int main() ( int n, i; unsigned long long fact = 1; printf("Enter an integer: "); scanf("%d", &n); // shows error if the user enters a negative integer if (n < 0) printf("Error! Factorial of a negative number doesn't exist."); else ( for (i = 1; i <= n; ++i) ( fact *= i; ) printf("Factorial of %d = %llu", n, fact); ) return 0; )
Výstup
Zadejte celé číslo: 10 Factorial of 10 = 3628800
Tento program vezme od uživatele kladné celé číslo a vypočítá faktoriál pomocí for
smyčky.
Protože faktoriál čísla může být velmi velký, je typ faktoriální proměnné deklarován jako unsigned long long
.
Pokud uživatel zadá záporné číslo, program zobrazí vlastní chybovou zprávu.
Faktoriál čísla můžete najít také pomocí rekurze.