Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[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 ?


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...
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
881
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…