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
#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; }
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!