[ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Bonsoir MJ13

Merci pour ton passage ici et ta pj.

Tu es tenté pour trouver la formule (relative à Kaprekar) ?

Voir mes messages plus bas notamment celui-ci
Lien supprimé
et celui là
Lien supprimé
 

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Bonsoir à tous
Code:
[COLOR="DarkSlateGray"][B]=DROITE("000"&(MOD(A2;1111)<>0)*6174;4)[/B][/COLOR]
...​
ROGER2327
#2923
 

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Bonsoir ROGER23727

Puisque ce mini challenge n'a pas attire les émérites formulistes du forum
Je vous livre donc cette fameuse formule qui m'a ebaubi ce week-end.

(et comme je ne comprends pas toute sa subtilité j'espère qu'une bonne âme du forum pourra m'en dire plus à son sujet)


PS: ROGER2327: ce genre de syntaxe ne pourrait-il pas nous être utile pour
mon post sur la parité des chiffres d'un nombre ?
J' avais pensé à des choses avec {1.3.5.7.9} et {2.4.6.8}
mais je n'arrive pas à les mettre en pratique.
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re JM, à tous


Tu es tenté pour trouver la formule (relative à Kaprekar) ?

J'avoue que la, je n'ai pas trop le temps et en plus, moi et les maths, cela fait 2 (mais je regarderai de temsp en temps).

Pour la solution de Roger (2908), c'est assez époustouflant. Félicitation Roger.

Bone soirée :).
 

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re

MJ13
Ne cherche plus ;)
Je viens de vous livrer cette dernière dans mon précédent message.

Je laisse apprécier sa beauté toute excelienne :)
 

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re à tous


Serai-je le seul à m'ébaubir devant une formule affriolante avec toutes ses matrices au vent ? :D


Y' aurait un petit gars de la Formule pour m'expliquer le fonctionnement de celle-ci ?

JCGL: t'en penses quoi de cette formule ? tu la comprends ?
 

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re...
Jolie formule en effet.

Toute l'astuce consiste à écrire abcd - dcba sous la forme
1000*a + 100*b + 10*c + 1*d - 1000*d - 100*c - 10*b - 1*a.
Il vient : abcd - dcba = 999*a + 90*b - 90*c - 999*d

À partir de la, la formule se construit aisément étape par étape comme on le verra dans l'encadré du classeur joint.
ROGER2327
#2925
 

Pièces jointes

  • KAPREKAR_2925.xls
    23 KB · Affichages: 90

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re

Merci pour ces explications limpides.

et qui m'inspire pour délaisser un peu plus VBA et m'acoquiner un peu plus avec les formules.

ROGER2327
Suis-je dans le vrai pour ce qui concerne mon PS du message dans Lien supprimé ?


PS: à tous ceux qui passeront dans ce fil, si vous connaissez des sites relatifs à des curiosités/récréations/enigmes mathématiques exploitables dans Excel
(avec formules ou VBA), n'hésitez pas svp à partager vos liens ici.

Merci
 

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re...
(...)
ROGER2327
Suis-je dans le vrai pour ce qui concerne mon PS du message dans Lien supprimé ?
(...)
Comme ceci ?
  1. somme des chiffres
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(SI(ESTNUM(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1);STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1))[/B][/COLOR]
  2. somme des chiffres pairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(SI(ESTNUM(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1);STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*(1-MOD(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;2))))[/B][/COLOR]
  3. somme des chiffres impairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(SI(ESTNUM(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1);STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*MOD(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;2)))[/B][/COLOR]
  4. nombre de chiffres pairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(SI(ESTNUM(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1);1-MOD(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;2)))[/B][/COLOR]
  5. nombre de chiffres impairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(SI(ESTNUM(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1);MOD(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;2)))[/B][/COLOR]
Toutes matricielles, bien sûr.
Valables pour les nombres à douze chiffres au maximum.
Et c'est plus compliqué que les formules déjà proposées...​
ROGER2327
#2926
 

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re

Je pensais à utiliser

{1.3.5.7.9} pour les chiffres impairs
et
{2.4.6.8} pour les chiffres pairs

mais je ne vois pas comment mixer tout cela

exemple : nombre de départ : 1558
on teste chaque chiffre du nombre
1 et 5 sont présents dans {1.3.5.7.9} -> nombre d'impairs :la formule donne 1+1+1 =3
8 est présent dans {2.4.6.8} -> nombre de pairs :la formule donne 1
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re...
  1. nombre de chiffres pairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(1*ESTNA(EQUIV(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;{1;3;5;7;9};0)))[/B][/COLOR]
  2. nombre de chiffres impairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(1*ESTNA(EQUIV(STXT($A$2;{1;2;3;4;5;6;7;8;9;10;11;12};1)*1;{0;2;4;6;8};0)))[/B][/COLOR]
ROGER2327
#2927
 

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Suite...
Plus simple et permettant des nombres longs :
  1. nombre de chiffres pairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(1*ESTNA(EQUIV(STXT($A$2;LIGNE("A:A");1)*1;{1;3;5;7;9};0)))[/B][/COLOR]
  2. nombre de chiffres impairs
    Code:
    [COLOR="DarkSlateGray"][B]=SOMME(1*ESTNA(EQUIV(STXT($A$2;LIGNE("A:A");1)*1;{0;2;4;6;8};0)))[/B][/COLOR]
(Toujours matricielles, évidemment.)​
ROGER2327
#2928
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re

Merci pour ces formules
Voila ce que j'ai fait (avec des formules nommées)
Code:
=SOMME(1*ESTNA(EQUIV(STXT($A$1;cf;1)*1;ni;0)))
cf=LIGNE(INDIRECT("1:"&NBCAR(Feuil1!$A$1)))
ni={1;3;5;7;9}
np={2;4;6;8}

EDITION: je viens de voir vos nouvelles formules en éditant (EDITION 2), celles-ci génèrent un message d'erreur chez moi.

EDITION3: pourquoi avoir associé la matrice des chiffres pairs avec la formule des impairs
et la matrice des chiffres impairs avec la formule des pairs ?
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re...
(...)
EDITION: je viens de voir vos nouvelles formules en éditant
(EDITION 2), celles-ci génèrent un message d'erreur chez moi.

EDITION3: pourquoi avoir associé la matrice des chiffres pairs avec la formule des impairs
et la matrice des chiffres impairs avec la formule des pairs ?
(...)
2. Bizarre... Voir le classeur joint.
3. Parce que j'utilise ESTNA().
Au lieu de =SOMME(1*ESTNA(EQUIV(STXT($A$2;LIGNE("A:A");1)*1;{1;3;5;7;9};0))),
on peut écrire : =SOMME(1*ESTNUM(EQUIV(STXT($A$2;LIGNE("A:A");1)*1;{0;2;4;6;8};0)))
ROGER2327
#2929
 

Pièces jointes

  • TEMP_2929.xls
    17.5 KB · Affichages: 97

Staple1600

XLDnaute Barbatruc
Re : [ALGO][VBA]Nombre narcissique - comment faites vous ? (pour les grands nombres)

Re





Merci encore de partager vos dons de formuliste avec nous ROGER2327 :)
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
681

Statistiques des forums

Discussions
312 492
Messages
2 088 940
Membres
103 989
dernier inscrit
jralonso