Algorythmique//nombres narcissiques

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
chemicalK
Messages: 7
Enregistré le: 06 Jan 2018, 18:32

Algorythmique//nombres narcissiques

par chemicalK » 04 Fév 2018, 17:19

Bonsoir!
je dois écrire en python un algorythme qui, étant donné un nombre N en entrée, renvoie ce nombre s'il est narcissique ou 0 si il ne l'est pas.
Quelqu'un peut-il m'aider et me dire si cet algorithme est juste et pourquoi c'est faux à la ligne 11?

def narcisse():
l=input('Donnez une limite dans la recherche des nombres narcissiques \n')
for k in range(l):
somme=0
n=str(k)
for lettre in n:
puissance=len(n)
chiffre=int(lettre)
somme=somme+pow(chiffre,puissance)
if(somme==k):
print k," est un nombre narcissique" (C'est la que le logiciel me met "invalid syntax")

print narcisse()



Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Algorythmique//nombres narcissiques

par chan79 » 04 Fév 2018, 18:16

salut
Pour certaines versions de python, ce qui suit print doit être en parenthèses
par exemple:
print( k," est un nombre narcissique")
En dessous de la définition de la fonction "narcisse()" il doit y avoir un décalage.
Il doit aussi y avoir un "return"
153 est un nombre narcissique 1³+5³+3³=1+125+27=153

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: Algorythmique//nombres narcissiques

par pascal16 » 04 Fév 2018, 19:39

oui, depuis Python 3 .

nodgim
Habitué(e)
Messages: 2002
Enregistré le: 27 Jan 2008, 10:21

Re: Algorythmique//nombres narcissiques

par nodgim » 05 Fév 2018, 11:29

Je ne suis pas sûr et certain que tous les lecteurs de ce site connaissent la signification d'un nombre narcissique.
Perso, je ne sais plus ce que c'est.

Avatar de l’utilisateur
WillyCagnes
Membre Transcendant
Messages: 3753
Enregistré le: 21 Sep 2013, 19:58

Re: Algorythmique//nombres narcissiques

par WillyCagnes » 05 Fév 2018, 11:31


Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Algorythmique//nombres narcissiques

par chan79 » 05 Fév 2018, 12:09

à signaler de petites erreurs de Gérard Villemin (lien ci-dessus)
4150, 4151,194979 ne conviennent pas
Sinon, on peut remarquer que si un nombre est narcissique et se termine par 0, son suivant est narcissique aussi.
exemple 370 et 371

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Algorythmique//nombres narcissiques

par fatal_error » 05 Fév 2018, 20:08

puissance peut etre sorti de la boucle

si on dit que ton algo retourne 0 ou le nombre on s'attend -à priori- à ce que ta fonction narcisse prenne en entrée un nombre et donne en sortie un nombre (0 ou le nombre d'entrée)
les print on s'en fou. si tu les veux c'est plutot de la forme
result = narcisse(22)
print 'le resultat:'+str(result)

edit:
- à noter que tu as les balises CODE pour conserver l'indentation
- et également que ton test sur l'égalité tu peux le faire dans la boucle pour directement retourner 0 si ta somme dépasse déjà le nombre
la vie est une fête :)

nodgim
Habitué(e)
Messages: 2002
Enregistré le: 27 Jan 2008, 10:21

Re: Algorythmique//nombres narcissiques

par nodgim » 06 Fév 2018, 09:58

G. Villemin a raison en signalant qu'il y a un plus grand nombre narcissique (ils sont en nombre fini).
On ne peut plus en trouver avec des nombres qui dépassent 35 chiffres.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Algorythmique//nombres narcissiques

par chan79 » 06 Fév 2018, 13:32

nodgim a écrit:G. Villemin a raison en signalant qu'il y a un plus grand nombre narcissique (ils sont en nombre fini).
On ne peut plus en trouver avec des nombres qui dépassent 35 chiffres.

oui, d'après wolfram, il y en 88
http://mathworld.wolfram.com/NarcissisticNumber.html
L'algo de chemicalK, après rectifications, permet d'obtenir rapidement ceux qui ont jusqu'à 8 chiffres (ensuite, faut pas être pressé !)

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 60 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite