Maison  >  Article  >  développement back-end  >  Traduisez le contenu suivant en chinois : En programmation C, trouvez la somme des nombres compris dans N qui peut être divisée par 2 ou 5.

Traduisez le contenu suivant en chinois : En programmation C, trouvez la somme des nombres compris dans N qui peut être divisée par 2 ou 5.

WBOY
WBOYavant
2023-09-20 08:25:061243parcourir

Traduisez le contenu suivant en chinois : En programmation C, trouvez la somme des nombres compris dans N qui peut être divisée par 2 ou 5.

La somme de n nombres naturels divisibles par 2 ou 5 peut être trouvée en trouvant la somme de tous les nombres naturels jusqu'à N divisibles par 2 et la somme de tous les nombres naturels jusqu'à N divisible par 5. Soustrayez ces deux sommes par la somme des nombres naturels dans N divisibles par 10, et c'est ce que nous voulons. Cette méthode est un moyen efficace pour trouver la somme des grandes valeurs de n.

Certains d'entre vous doivent penser à utiliser des boucles et des instructions conditionnelles, puis à additionner tous les nombres divisibles par 2 ou 5, mais cette approche est inefficace car elle a une complexité temporelle d'ordre n. Cela signifie que pour des valeurs de n plus grandes, le programme exécutera la boucle n fois. Et procéder de cette façon alourdit le programme.

Trouvez la formule de la somme de n nombres naturels divisible par 2

Sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2

Trouvez la formule de la somme de n nombres naturels divisible par 5

Sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2

Trouvez la formule de la somme de n nombres naturels divisible par 10

Sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2

Attendez-vous à la sortie de

Sum = Sum2 + Sum5 - Sum10

Exemple

#include <stdio.h>
int main() {
   int n = 25;
   long int sum2, sum5, sum10;
   sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2;
   sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2;
   sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2;
   long int sum = sum2 + sum5 - sum10;
   printf("Sum is %d", sum);
   return 0;
}

Sortie de

Sum is 201

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer