Nombre d'Armstrong En Python et/ou C(++) |
Bienvenue invité ( Connexion | Inscription )
Nombre d'Armstrong En Python et/ou C(++) |
30 Mar 2023, 09:33
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 4 Inscrit : 27 Mar 2023 Membre no 217 569 |
J'ai besoin d'imprimer tous les nombres armstrong entre 1 et 10000. Mon problème est que lorsque j'exécute mon programme et que j'atteins 150, il ne fait rien.
Code (1^3) + ((5^3)-1) + (0^3) au lieu de Code (1^3) + (5^3) + (0^3). Est-ce un bug du compilateur ? Est-il nécessaire de réinstaller mon compilateur ? J'utilise actuellement des blocs de code. Code #include <iostream> #include <math.h> using namespace std; int main() { for(int i = 0;i <= 10000;++i) { int r = i; int dig = 0; while(r != 0) { dig++; r /= 10; } int n = i, sum = 0; while(n != 0) { int d = n % 10; sum += pow(d, dig); n /= 10; } if(sum == i) cout << i << ' '; } cout << "\n\n\n"; return 0; } En conséquence, il n'imprime pas 153 (un nombre d'Armstrong), car la somme est de 152. Je ne sais pas si d'autres nombres effectuent la même chose. Mais j'ai vérifié jusqu'à 200 en utilisant cette source et il n'y a aucun problème avec les autres chiffres sauf ceux de la zone 150-160. Ce message a été modifié par Phil J. Fry - 31 Mar 2023, 12:31.
Raison de l'édition : Titre
|
|
|
31 Mar 2023, 00:36
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 416 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Leur solution a l'air bien compliquée. Si j'ai bien compris la "source" de notre ami, il y a là différentes procédures pour arriver au même but limité (vérifier si tel nombre répond ou non aux critères d'un nombre d'Armstrong). Tu parlais en général ou d'une en particulier ? (Pour ma part, j'aime assez celle par les fonctions, que je comprends, à l'inverse de celle par récursion… ) Ensuite, il faudrait encore utiliser la force brute et recommencer pour chaque nombre jusqu'à 10.000. — Ce que veut de toute évidence faire le script d'alfranz, mais je suis trop analphabète en la matière pour le lire ou dire s'il y a une faille dans ce code. La mienne tient en 16 instructions en Python3. Je n'ai pas été plus loin que de parcourir l'article de Wikipedia… (et j'en ai déjà oublié bien des bouts !) Je puis au moins dire que dans la version anglaise, il y a aussi des scripts Python (et C comme ci-dessus ! ) -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
Nous sommes le : 4th June 2024 - 15:16 |