IPB

Bienvenue invité ( Connexion | Inscription )

> Nombre d'Armstrong En Python et/ou C(++)
Options
alfranz
posté 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
hubeert
posté 15 Jul 2023, 11:22
Message #2


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 953
Inscrit : 19 May 2005
Lieu : Chateauneuf du pape
Membre no 39 495



coucou;

il n'y a pas de mal.

Oui je suis allé voir sur le lien qu'a donné Baron et je vais aller voir ton lien.

Le problème pour moi, c'est de comprendre la logique ( pas la logique, mais l'utilité pratique avec des exemples), deja savoir qu'on lit de droite a gauche sans priorité, je ne lavais pas vu rolleyes.gif .

Je vais regarder toutes tes indications et essayer de comprendre !!! c'est pas gagné lol.

Bon WK


--------------------
Musique techno avec MAO (Logic Pro)

des que quelqu'un a du pouvoir il croit détenir la vérité...
Des que quelqu'un a un clavier il A la la vérité.(Forcément)
Go to the top of the page
 
+Quote Post
Jaypee
posté 15 Jul 2023, 21:43
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Citation (hubeert @ 15 Jul 2023, 12:22) *
...
Le problème pour moi, c'est de comprendre la logique ( pas la logique, mais l'utilité pratique avec des exemples), deja savoir qu'on lit de droite a gauche sans priorité, je ne lavais pas vu rolleyes.gif .

J'ai créé un topic sur APL dans ce forum, y'a des exemples très divers pour montrer qu'APL pour résoudre les problèmes c'est un chouette couteau suisse, avec plein de lames, et même certaines dont on ne connait pas toujours l'utilité.
Ici la logique de très haut niveau est qu'on génère un vecteur booléen pour filtrer la liste des entiers de 1 à la limite qu'on donne. C'est une technique très courante en APL.
Pour construire le vecteur booléen on utilise un prédicat qui détermine si un entier est un nombre d'Armstrong ou pas, et on le mappe, ou on le distribue sur la suite des entiers de 1 à la limite qu'on donne.

Utiliser explicitement la distribution n'est pas très dans l'esprit APL, puisqu'il travaille naturellement avec des vecteurs.
@+JP
Go to the top of the page
 
+Quote Post
baron
posté 15 Jul 2023, 23:18
Message #4


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 424
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Citation (Jaypee @ 15 Jul 2023, 22:43) *
J'ai créé un topic sur APL dans ce forum, y'a des exemples très divers pour montrer qu'APL pour résoudre les problèmes c'est un chouette couteau suisse, avec plein de lames, et même certaines dont on ne connait pas toujours l'utilité.

C'est là : https://forum.macbidouille.com/index.php?sh...=419131&hl=

(Et pour les plus curieux, ça vaut la peine de parcourir toute l'œuvre de Jaypee sur ces forumsjap.gif )


--------------------
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…
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 10th June 2024 - 23:55