Nombres narcissiques
Publié : sam. 20/janv./2007 12:38
ca ne sert strictement à rien ^^
y'a plusieurs sortes de nombres narcissiques, voila le PPDI
(PluPerfect Digital Invariant)
En gros un nombre est un PPDI si la somme de ses n chiffres à la puissance n est égale à lui même
Exemple :
153 a 3 chiffres et 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
Donc 153 est un PPDI
Dri 
y'a plusieurs sortes de nombres narcissiques, voila le PPDI
(PluPerfect Digital Invariant)
En gros un nombre est un PPDI si la somme de ses n chiffres à la puissance n est égale à lui même
Exemple :
153 a 3 chiffres et 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
Donc 153 est un PPDI
Code : Tout sélectionner
Procedure.l IsPPDI(Natural.l)
Protected PPDI.l, Temp.l
Protected Length.l, Sum.l
Protected Pow.l, Digit.l
If Natural >= 0
If Natural < 10
PPDI = #True
Else
Temp = Natural
While Temp
Temp / 10
Length + 1
Wend
Temp = Natural
While Temp
Digit = (Temp % 10)
If Digit
Pow = 1
For i = 1 To Length
Pow * Digit
Next i
Sum + Pow
EndIf
Temp / 10
Wend
If Sum = Natural
PPDI = #True
EndIf
EndIf
EndIf
ProcedureReturn PPDI
EndProcedure
Debug IsPPDI(153)
Debug IsPPDI(1634)
Debug IsPPDI(370)
Debug IsPPDI(371)
