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 : 967
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 : 20 012
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
Jaypee
posté 16 Jul 2023, 07:41
Message #5


Macbidouilleur d'Or !
*****

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



Citation (baron @ 16 Jul 2023, 00:18) *
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 )

Merci, mais ça me donne un peu le vertige...ça fait à peu près 20 ans, j'ai commencé ici, avec ces fameux 15 min de gloire qu'Andy Warhol promet à tout un chacun :

Au début de MacOS, chaque mise à jour pouvait casser pas mal de chose. Y compris les premières versions d'Xcode ou de l'installateur de logiciel. Or 20 ans en arrière, on est en pleine révolution de l'ADSL, et sur macOS beaucoup de gens utilisaient pour cet accès Internet le modem USB de France Télécom, la Raie Manta verte. Juste avant la sortie de la version Jaguar, catastrophe ! On découvre que le pilote du modem ne s'installe plus sous Jaguar, donc il fallait choisir entre être à jour et garder l'accès ADSL.
Pour cette mise à jour Apple a commencé à s'intéresser de manière plus précise au numéro de version du logiciel pour pouvoir ensuite tester les compatibilités. Or dans la version précédente de l'OS, les outils comme Xcode notait cette version dans deux fichiers différents (sans doute un .h et un .txt, pour la compilation, puis pour le packaging). Or un bug d'Xcode faisait que les deux fichiers pouvaient ne pas être d'accord. Mais ce n'était pas détecté par l'installateur de l'ancienne version qui ne les comparait pas.
Arrive Jaguar, qui veut faire bien les choses et qui se met à comparer les deux fichiers, et comme l'installateur du pilote du modem avait été créé avec l'ancien Xcode, il avait cette incohérence, que Jaguar maintenant détectait.
Pour une raison dont je ne me souviens plus, je crée un produit vide (pas de code, juste les éléments nécessaires à créer un kit), et je l'installe sur Jaguar, et boum ! exactement le même message que pour le pilote ADSL. De là j'ai pu corriger les deux fichiers textes inclus dans le kit ADSL, le re-packager et pendant quelques heures j'ai été le seul utilisateur de Mac au monde à pouvoir surfer l'ADSL sur Jaguar via l'USB!
J'ai essayé de diffuser l'info partout, jusqu'en Australie, chaque fois que je tombais sur un forum où les macusers confiaient leurs soucis avec Jaguar et l'ADSL. Et j'ai reçu énormément de témoignages de sympathie.

Voilà comment j'ai débuté ici.
JP


Citation (Laszlo Lebrun @ 16 Jul 2023, 04:11) *
Comme disait De Gaulle: C'est du Volapük.

Je verrais ça plutôt comme du latin, du grec ou de l'hébreu. Les fois où ça sert, on est content d'avoir fait l'effort d'apprendre.

JP
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 : 1st August 2025 - 16:59