Přejít na hlavní obsah

Jak vypočítat faktoriál čísla zadaného z klávesnice v Pythonu

Faktoriál čísla je součin všech čísel od tohoto čísla až po jednotku. Velmi často je v programování nutné vypočítat faktoriál čísla. Python poskytuje snadný způsob, jak vypočítat faktoriál čísla zadaného z klávesnice.

K výpočtu faktoriálu čísla pomocí Pythonu lze použít cyklus for počínaje číslem a vynásobením všech předchozích čísel na jednotku. Rekurzi lze také použít k výpočtu faktoriálu čísla.

Příklad programu:




number = int (input ("zadejte číslo:"))


factorial = 1


for i in range(1, number + 1):


factorial *= i


print ("faktoriál čísla", number, "roven", factorial)

V tomto příkladu čteme číslo z klávesnice pomocí funkce input() a převést jej na celé číslo pomocí funkce int(). Pak použijeme cyklus for a násobíme proměnnou factorial na každé číslo z rozsahu od 1 do zadaného čísla plus jednotka. Nakonec výsledek odvodíme pomocí funkce print().

Výpočet faktoriálu čísla pomocí Pythonu je tedy poměrně jednoduchý úkol, který lze vyřešit cyklem for nebo rekurze.

Co je faktoriál čísla?

Faktoriál čísla je součinem všech přirozených čísel od 1 do daného čísla (včetně).

Faktoriál čísla je obvykle označen symbolem"!"například 5! (čte se "5 faktoriál") rovná se součinu 5 * 4 * 3 * 2 * 1 = 120.

Faktoriály jsou široce používány v matematice, zejména v kombinatorice a teorii pravděpodobnosti. Často se také vyskytují v programování při práci s různými úkoly.

Faktoriál čísla lze vypočítat pomocí cyklu nebo rekurze. V Pythonu je k dispozici Vestavěná funkce math.factorial (n), který vypočítá faktoriál čísla n .

import mathn = int(input("Введите число: "))factorial = math.factorial(n)print(f"Факториал числа равен .")

V tomto kódu nejprve importujeme modul math, který obsahuje funkci factorial (). Poté požádáme uživatele o číslo a vypočítáme jeho faktoriál pomocí volání funkce math.factorial(n) . Výsledek se zobrazí na obrazovce.

Definice faktoriálu čísla

Například faktoriál čísla 4 se vypočítá podle následujícího vzorce: 4! = 4 * 3 * 2 * 1 = 24.

Faktoriály jsou široce používány v matematice, statistice a programování. Používají se k řešení problémů souvisejících s permutací, kombinatorikou, pravděpodobností a dalšími oblastmi.

V programovacím jazyce Python lze faktoriál čísla vypočítat pomocí vestavěné funkce math.factorial() z modulu math.

Zde je příklad kódu, který vypočítá faktoriál čísla pomocí funkce math.factorial():

import mathnum = int(input("Введите число: "))factorial = math.factorial(num)print(f"Факториал числа равен ")

Při provádění programu je uživatel vyzván k zadání čísla. Poté funkce math.factorial() vypočítá faktoriál tohoto čísla, který se poté zobrazí na obrazovce.

Pomocí jednoduchého kódu je tedy možné vypočítat faktoriál libovolného čísla v Pythonu.

Vzorec pro výpočet faktoriálu čísla

Faktoriál čísla lze vypočítat pomocí následujícího vzorce:

  1. Nastavte počáteční hodnotu na 1.
  2. Vynásobte počáteční hodnotu všemi čísly počínaje zadaným číslem a snižte jej o 1 na 1.
  3. Výsledná hodnota bude faktoriál zadaného čísla.

Chcete-li například vypočítat faktoriál čísla 4, musíte postupovat podle následujících kroků:

  1. Počáteční hodnota = 1.
  2. Vynásobíme počáteční hodnotu 4, dostaneme 4.
  3. Vynásobíme 4 3, dostaneme 12.
  4. Krát 12 krát 2, dostaneme 24.
  5. Vynásobíme 24 krát 1, dostaneme 24.

Faktoriál čísla 4 je tedy 24.

Jak vypočítám faktoriál čísla v Pythonu?

Faktoriál čísla je součin všech kladných celých čísel, menších nebo rovných danému číslu. Například faktoriál čísla 5 je roven 5 * 4 * 3 * 2 * 1 = 120.

V Pythonu existuje několik způsobů, jak vypočítat faktoriál čísla. Podívejme se na dvě z nich.

def factorial(n):result = 1for i in range(1, n + 1):result *= ireturn resultnum = int(input("Введите число: "))print("Факториал числа", num, "равен", factorial(num))

Program pomocí cyklu vypočítá faktoriál čísla a vynásobí postupně všechna čísla od 1 do daného čísla. Program poté vygeneruje výsledný výsledek.

def factorial(n):if n == 0:return 1else:return n * factorial(n - 1)num = int(input("Введите число: "))print("Факториал числа", num, "равен", factorial(num))

Program pomocí rekurze vypočítá faktoriál čísla tím, že spustí funkci factorial s argumentem sníženým o 1, dokud se argument nevyrovná 0. Program poté vrátí výsledek vynásobení daného čísla výsledkem vyvolání funkce factorial s argumentem sníženým o 1.

Volba mezi cyklem a rekurzí závisí na vašich preferencích a požadavcích konkrétního úkolu.

Nyní víte, jak vypočítat faktoriál čísla v Pythonu! To je užitečná znalost při práci s matematickými úkoly a algoritmy.

Použijte cyklus for k výpočtu faktoriálu čísla

K výpočtu faktoriálu čísla v Pythonu lze použít smyčku for . Smyčka for umožňuje provést určitý blok kódu několikrát, dokud je splněna určitá podmínka.

Příklad kódu pro výpočet faktoriálu čísla pomocí cyklu for :

number = int(input("Введите число: "))factorial = 1if number < 0:print("Факториал не определен для отрицательных чисел.")elif number == 0:print("Факториал числа 0 равен 1.")else:for i in range(1, number + 1):factorial *= iprint("Факториал числа", number, "равен", factorial)

V tomto kódu nejprve požádáme uživatele o zadání čísla a uložíme jej do proměnné number . Poté inicializujeme proměnnou factorial s hodnotou 1.

Poté zkontrolujeme stav, pokud je číslo menší než 0, zobrazí se zpráva, že faktoriál není určen pro záporná čísla. Pokud je číslo 0, zobrazí se zpráva, že faktoriál čísla 0 je 1.

Pokud je číslo kladné, použijeme cyklus for s hodnotou range(1, number + 1) . To nám umožňuje spustit blok kódu v cyklu od 1 do čísla zadaného uživatelem.

V rámci cyklu vynásobíme proměnnou factorial aktuální hodnotou i a na konci každé iterace zvýšíme hodnotu i o 1.

Po dokončení cyklu se zobrazí zpráva, že faktoriál čísla zadaného uživatelem se rovná hodnotě proměnné factorial .