Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Avec la définition que tu donnes, j'ai l'impression que
si 153 est un nombre narcissique alors
135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec
les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour
définir quelle est la bonne ? (cela peut être important pour tes
optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Michel__D
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que
si 153 est un nombre narcissique alors
135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec
les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour
définir quelle est la bonne ? (cela peut être important pour tes
optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Tatanka
Salut "bcar",
153 est narcissique car 153 = 1^3 + 5^3 + 3^3 mais 135, 531, 513, 315 et 351 ne le sont pas car si tu fais la somme des cubes de chacun de leurs chiffres, tu obtiendras toujours 153.
Serge
"bcar" a écrit dans le message de news: jn96kh$i3t$
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Salut "bcar",
153 est narcissique car 153 = 1^3 + 5^3 + 3^3
mais 135, 531, 513, 315 et 351 ne le sont pas car
si tu fais la somme des cubes de chacun de leurs chiffres,
tu obtiendras toujours 153.
Serge
"bcar" <bcar44@laposte.net> a écrit dans le message de news: jn96kh$i3t$1@writer.imaginet.fr...
Avec la définition que tu donnes, j'ai l'impression que
si 153 est un nombre narcissique alors
135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec
les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour
définir quelle est la bonne ? (cela peut être important pour tes
optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
153 est narcissique car 153 = 1^3 + 5^3 + 3^3 mais 135, 531, 513, 315 et 351 ne le sont pas car si tu fais la somme des cubes de chacun de leurs chiffres, tu obtiendras toujours 153.
Serge
"bcar" a écrit dans le message de news: jn96kh$i3t$
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Tatanka
Salut Michel,
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) 531 n'est pas égal à 5^3 + 3^3 + 1^3 (153) 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) ...
Serge
"Michel__D" a écrit dans le message de news: jn992g$ge4$
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Salut Michel,
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais
135 n'est pas égal à 1^3 + 3^3 + 5^3 (153)
531 n'est pas égal à 5^3 + 3^3 + 1^3 (153)
135 n'est pas égal à 1^3 + 3^3 + 5^3 (153)
...
Serge
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de news: jn992g$ge4$1@speranza.aioe.org...
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que
si 153 est un nombre narcissique alors
135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec
les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour
définir quelle est la bonne ? (cela peut être important pour tes
optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) 531 n'est pas égal à 5^3 + 3^3 + 1^3 (153) 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) ...
Serge
"Michel__D" a écrit dans le message de news: jn992g$ge4$
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est
encore plus lente que la première !
Sub Nombres_Narcissiques2()
Dim s As Long
For i = 10000000 To 99999999
For j = 1 To 8
s = s + Mid(i, j, 1) ^ 8
Next j
If s = i Then
k = k + 1
Cells(k, 1) = i
End If
s = 0
Next i
End Sub
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Fredo P.
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Bonjour Serge
une p'tit question
à quoi sert un nombre narcissique?
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news:
jn9kao$i8g$1@speranza.aioe.org...
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est
encore plus lente que la première !
Sub Nombres_Narcissiques2()
Dim s As Long
For i = 10000000 To 99999999
For j = 1 To 8
s = s + Mid(i, j, 1) ^ 8
Next j
If s = i Then
k = k + 1
Cells(k, 1) = i
End If
s = 0
Next i
End Sub
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Tatanka
Salut Fredo,
Pour le moment, à ce que je sache, à rien :-) Beaucoup de mathématiciens ne pensent qu'à s'amuser ! Les spécialistes de la théorie des nombres du début du 20e siècle juraient que ça ne servirait jamais à rien de tripoter les nombres premiers mais aujourd'hui, c'est un des outils indispensables pour la sécurité informatique...
Serge
"Fredo P." a écrit dans le message de news: jn9nts$s6b$
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Salut Fredo,
Pour le moment, à ce que je sache, à rien :-)
Beaucoup de mathématiciens ne pensent qu'à s'amuser !
Les spécialistes de la théorie des nombres du début du 20e siècle
juraient que ça ne servirait jamais à rien de tripoter les nombres
premiers mais aujourd'hui, c'est un des outils indispensables pour
la sécurité informatique...
Serge
"Fredo P." <ponsinet.frederic363@orange.fr> a écrit dans le message de news: jn9nts$s6b$1@speranza.aioe.org...
Bonjour Serge
une p'tit question
à quoi sert un nombre narcissique?
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news: jn9kao$i8g$1@speranza.aioe.org...
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est
encore plus lente que la première !
Sub Nombres_Narcissiques2()
Dim s As Long
For i = 10000000 To 99999999
For j = 1 To 8
s = s + Mid(i, j, 1) ^ 8
Next j
If s = i Then
k = k + 1
Cells(k, 1) = i
End If
s = 0
Next i
End Sub
Pour le moment, à ce que je sache, à rien :-) Beaucoup de mathématiciens ne pensent qu'à s'amuser ! Les spécialistes de la théorie des nombres du début du 20e siècle juraient que ça ne servirait jamais à rien de tripoter les nombres premiers mais aujourd'hui, c'est un des outils indispensables pour la sécurité informatique...
Serge
"Fredo P." a écrit dans le message de news: jn9nts$s6b$
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
bcar
Désolé, la fatigue...
Le 25/04/2012 18:46, Tatanka a écrit :
Salut Michel,
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) 531 n'est pas égal à 5^3 + 3^3 + 1^3 (153) 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) ....
Serge
"Michel__D" a écrit dans le message de news: jn992g$ge4$
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Désolé, la fatigue...
Le 25/04/2012 18:46, Tatanka a écrit :
Salut Michel,
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais
135 n'est pas égal à 1^3 + 3^3 + 5^3 (153)
531 n'est pas égal à 5^3 + 3^3 + 1^3 (153)
135 n'est pas égal à 1^3 + 3^3 + 5^3 (153)
....
Serge
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de news: jn992g$ge4$1@speranza.aioe.org...
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que
si 153 est un nombre narcissique alors
135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec
les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour
définir quelle est la bonne ? (cela peut être important pour tes
optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant
et que ça collabore encore.
Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé
Excel mais là j'aurais une tite question pour vous.
Je suis à la recherche des nombres narcissiques !
Un nombre narcissique contenant n chiffres est un nombre
égal à la somme de chacun de ses chiffres à la n ième puissance.
Exemples :
153 = 1^3 +5^3 + 3^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6
Il en existe seulement 88.
Voici une macro me permettant de trouver des nombres
narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois
mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier.
La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques()
Dim T As Double
T = Timer
Dim x(1 To 8) As Long
For i = 10000000 To 99999999
For j = 1 To 8
x(j) = Mid(i, j, 1)
Next j
If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then
k = k + 1
Cells(k, 1) = i
End If
Next i
Range("B1") = Application.Round((Timer - T), 1) & " Sec"
End Sub
153 = 1^3 + 5^3 + 3^3, donc narcissique. Mais 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) 531 n'est pas égal à 5^3 + 3^3 + 1^3 (153) 135 n'est pas égal à 1^3 + 3^3 + 5^3 (153) ....
Serge
"Michel__D" a écrit dans le message de news: jn992g$ge4$
Bonjour,
Hum, 153 = 1^3 + 5^3 + 3^3
Donc 135, 531, 513, 351 et 315 étant différent de 153 ils ne peuvent pas être narcissiques (si j'ai bien compris).
bcar a écrit :
Avec la définition que tu donnes, j'ai l'impression que si 153 est un nombre narcissique alors 135, 531, 513, 351 et 315 le sont aussi, non ?
Si c'est le cas, je ne vois pas d'ou sort le 88, puisque rien qu'avec les permutations de 548834 on doit dépasser ce nombre.
si les permutations ne sont pas autorisées, quelle est la règle pour définir quelle est la bonne ? (cela peut être important pour tes optimisations).
Le 25/04/2012 17:35, Tatanka a écrit :
Bonjour,
Content de savoir que le MPFE est toujours vivant et que ça collabore encore. Depuis que j'ai attrapé la fièvre Facebook, j'ai délaissé Excel mais là j'aurais une tite question pour vous. Je suis à la recherche des nombres narcissiques ! Un nombre narcissique contenant n chiffres est un nombre égal à la somme de chacun de ses chiffres à la n ième puissance. Exemples : 153 = 1^3 +5^3 + 3^3 1634 = 1^4 + 6^4 + 3^4 + 4^4 548 834 = 5^6 + 4^6 + 8^6 + 8^6 + 3^6 + 4^6 Il en existe seulement 88. Voici une macro me permettant de trouver des nombres narcissiques contenant 8 chiffres. Elle m'a permis d'en trouver trois mais je me demande si je pourrais l'accélérer (19 minutes) ou la simplifier. La voici et je vous remercie à l'avance :
Sub Nombres_Narcissiques() Dim T As Double T = Timer Dim x(1 To 8) As Long For i = 10000000 To 99999999 For j = 1 To 8 x(j) = Mid(i, j, 1) Next j If x(1) ^ 8 + x(2) ^ 8 + x(3) ^ 8 + x(4) ^ 8 + x(5) ^ 8 + x(6) ^ 8 + x(7) ^ 8 + x(8) ^ 8 = i Then k = k + 1 Cells(k, 1) = i End If Next i Range("B1") = Application.Round((Timer - T), 1) & " Sec" End Sub
Serge
Fredo P.
Merci pour l'info Ma bécane, avec la première routine exposée m'est 596 sec pour sortir 24678050 24678051 88593477
Mémoire DDR3 PC3-10666 2 Go 1333 Mhz Carte mère MSI GF615M P33 - Socket AM3 pour processeur AMD Sempron AM3
"Tatanka" a écrit dans le message de news: jn9pe6$hj$
Salut Fredo,
Pour le moment, à ce que je sache, à rien :-) Beaucoup de mathématiciens ne pensent qu'à s'amuser ! Les spécialistes de la théorie des nombres du début du 20e siècle juraient que ça ne servirait jamais à rien de tripoter les nombres premiers mais aujourd'hui, c'est un des outils indispensables pour la sécurité informatique...
Serge
"Fredo P." a écrit dans le message de news: jn9nts$s6b$
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub
Serge
Merci pour l'info
Ma bécane, avec la première routine exposée m'est 596 sec pour sortir
24678050
24678051
88593477
Mémoire DDR3 PC3-10666 2 Go 1333 Mhz
Carte mère MSI GF615M P33 - Socket AM3 pour processeur AMD Sempron AM3
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news:
jn9pe6$hj$1@speranza.aioe.org...
Salut Fredo,
Pour le moment, à ce que je sache, à rien :-)
Beaucoup de mathématiciens ne pensent qu'à s'amuser !
Les spécialistes de la théorie des nombres du début du 20e siècle
juraient que ça ne servirait jamais à rien de tripoter les nombres
premiers mais aujourd'hui, c'est un des outils indispensables pour
la sécurité informatique...
Serge
"Fredo P." <ponsinet.frederic363@orange.fr> a écrit dans le message de
news: jn9nts$s6b$1@speranza.aioe.org...
Bonjour Serge
une p'tit question
à quoi sert un nombre narcissique?
"Tatanka" <ramanujan@videotron.ca> a écrit dans le message de news:
jn9kao$i8g$1@speranza.aioe.org...
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est
encore plus lente que la première !
Sub Nombres_Narcissiques2()
Dim s As Long
For i = 10000000 To 99999999
For j = 1 To 8
s = s + Mid(i, j, 1) ^ 8
Next j
If s = i Then
k = k + 1
Cells(k, 1) = i
End If
s = 0
Next i
End Sub
Merci pour l'info Ma bécane, avec la première routine exposée m'est 596 sec pour sortir 24678050 24678051 88593477
Mémoire DDR3 PC3-10666 2 Go 1333 Mhz Carte mère MSI GF615M P33 - Socket AM3 pour processeur AMD Sempron AM3
"Tatanka" a écrit dans le message de news: jn9pe6$hj$
Salut Fredo,
Pour le moment, à ce que je sache, à rien :-) Beaucoup de mathématiciens ne pensent qu'à s'amuser ! Les spécialistes de la théorie des nombres du début du 20e siècle juraient que ça ne servirait jamais à rien de tripoter les nombres premiers mais aujourd'hui, c'est un des outils indispensables pour la sécurité informatique...
Serge
"Fredo P." a écrit dans le message de news: jn9nts$s6b$
Bonjour Serge une p'tit question à quoi sert un nombre narcissique?
"Tatanka" a écrit dans le message de news: jn9kao$i8g$
Bonsoir,
J'ai trouvé plus simple comme macro mais elle est encore plus lente que la première !
Sub Nombres_Narcissiques2() Dim s As Long For i = 10000000 To 99999999 For j = 1 To 8 s = s + Mid(i, j, 1) ^ 8 Next j If s = i Then k = k + 1 Cells(k, 1) = i End If s = 0 Next i End Sub