Factorielle (python)
n! pour n=21 (décimal exact).
Énoncé
Calculez 21! (factorielle) et affichez le résultat en décimal sur une ligne.
Entrée : 21
Sortie : une ligne, l’entier exact.
Contraintes réelles
- Entrée : une seule ligne sur stdin (format indiqué ci-dessus), sans espaces superflus en fin de ligne.
- Sortie : une seule ligne sur stdout, exactement la valeur demandée (pas de texte d’explication).
- python : bibliothèque standard uniquement ; pas d’accès réseau ni de fichiers autres que stdin/stdout.
- Complexité : respecter la borne indiquée dans l’énoncé (souvent O(n) ou O(n²) pour n ≤ 16).
Parcours pédagogique
- Piste : Combinatoire discrète (
serie-d-combinatoire) — étape 1 sur cette famille. - Objectif : Manipuler les factorielles exactes (petit n).
- Indice global : numéro de défi 3431 / 10000 (famille 6/25, variante 138 / 400).
Indices
- Parsez stdin en types exacts (entier 64 bits signé si nécessaire).
- Testez sur papier avec les petites valeurs du gabarit.
- Vérifiez les cas limites mentionnés.
Solution possible
- Boucle 2..n avec BigInt (Python) ou bigint (JS) ou multiplication saturée en Rust.
Pseudo-code (python)
# lire la ligne stdin → variables
# appliquer l’algorithme décrit
# print(resultat) # une ligne
Résultat de référence (tests automatisés)
La CI exécute la même logique que ce dépôt sur votre variante : la sortie attendue est exactement :
51090942171709440000
Référence (tests automatisés) : 51090942171709440000
Proposer une solution
Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).