Aller au contenu principal
U/USELESS·PROGRAMMING

Somme 1..n (python)

Calculer la somme des entiers de 1 à 7443 (formule close ou boucle). Une ligne stdout.

Énoncé

Calculez S = 1 + 2 + … + 7443.

Entrée : une ligne contenant l’entier 7443 (déjà fixé pour ce défi ; vous pouvez l’ignorer et coder en dur ou le relire pour vous entraîner).

Sortie : une ligne : la valeur décimale de S.

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 : Suites et sommes (serie-a-suites) — étape 1 sur cette famille.
  • Objectif : Appliquer la formule de Gauss pour la somme 1+2+…+n.
  • Indice global : numéro de défi 2026 / 10000 (famille 1/25, variante 82 / 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

  1. Constater que S = n(n+1)/2 (Gauss) évite les boucles longues.
  2. Ici n = 7443, donc S = 27702846.
  3. En code générique : lire n, utiliser BigInt en Python/JS pour les grands n.

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 :

27702846

Référence (tests automatisés) : 27702846

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).