2 votes

Trouver les carrés jusqu'à 10 000 000 en C

La somme des carrés des 3 nombres consécutifs 11, 12 et 13 est 434 (c'est-à-dire 121 + 144 + 169 = 434). Le nombre 434 se lit de la même manière dans les deux sens et est appelé un palindrome. Je dois trouver la somme des nombres inférieurs à 10^7 qui peuvent être exprimés comme la somme de carrés consécutifs et qui résultent en un palindrome. Si dans 2 séquences différentes, un nombre se répète, alors ajoutez-le deux fois. C'est-à-dire si 11 apparaît dans 2 séquences de nombres consécutifs, ajoutez-le deux fois.

Je dois écrire un programme basé sur le scénario ci-dessus.

Ce que j'ai compris, c'est que nous devons trouver les carrés jusqu'à 10 000 000, puis tous les nombres. Comment devrais-je aborder l'écriture d'un programme pour cela en C?

0voto

duedl0r Points 3508

Vous avez probablement besoin d'une boucle for qui incrémente une variable ? En utilisant cette variable, vous pouvez générer 3 nombres consécutifs.. puis additionner les carrés des nombres.. s'il dépasse votre nombre max, arrêtez la boucle. s'il est en dessous, vérifiez s'il s'agit d'un palindrome ?

0voto

Surya Points 1967

Utiliser la méthode de force brute est l'un des moyens possibles.

Itérer une variable i de 1 à 10^7 - 2 de sorte que vous allez prendre la somme des carrés des trois premières valeurs de la variable (y compris i) et trouver si c'est un palindrome ou non.

c'est-à-dire lorsque i=5, dans une boucle for vous devez trouver si i^2 + (i+1)^2 + (i+2)^2 est un palindrome ou non.

Je ne suis pas sûr mais vous devriez plutôt utiliser long long car vous devez calculer les carrés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X