Les nombres alternés sont des nombres dans lesquels tous les chiffres alternent entre pairs et impairs. Par exemple: 2703 et 7230 sont des nombres alternés, mais 2730 nest pas « t.
Les nombres sont très alternés quand le double du nombre est également un nombre alternatif, par exemple 3816 est très en alternance, car 7632 est également un nombre alternatif.
La question que vous vous posez est: combien y a-t-il de 4 chiffres très alternés? (le nombre ne peut pas commencer par un ou plusieurs zéros)
Bien sûr, ce problème peut être résolu par programmation, mais il peut aussi être résolu mathématiquement! Bonne chance!
NB: Je n’ai pas inventé ce puzzle moi-même, il fait partie de l’Olympiade néerlandaise des mathématiques, voir ce PDF
Commentaires
Réponse
Le nombre de ces nombres est
70
Lorsque vous doublez un nombre, un chiffre du résultat est pair si et seulement si le chiffre à la droite ne portait pas.
Par conséquent, $ 2x $ est alterné si et seulement si les chiffres de $ x $ sont $ LHLH $, où $ L \ in \ {0,1,2,3 , 4 \} $ et $ H \ in \ {5,6,7,8,9 \} $.
(En remarque, cela implique que si $ x $ est très alterné, alors $ 2x $ sera toujours un nombre à quatre chiffres, de sorte que $ x < 5000 $ nécessairement).
Nous savons que si $ x $ est alterné quand il ressemble à OEOE ou EOEO. Pour que $ x $ soit très alterné, il doit aussi être $ LHLH $, alors comptons le nombre de façons de remplir ces deux contraintes.
-
OEOE
: Chaque nombre impair doit être faible, ce qui signifie quils valent chacun 1 $ ou 3 $. Chaque pair doit être élevé, il en va de même pour 6 $ ou 8 $. Il y a deux choix pour chaque chiffre pour un total de $ 2 \ cdot2 \ cdot2 \ cdot2 = 16 $ possibilités.
-
EOEO : Désormais, les égales sont faibles (0,2 $ ou 4 $), et les chances sont élevées (5,7 $ ou 9 $). Il y a trois choix pour chaque chiffre, sauf que le premier chiffre ne peut pas être zéro, donc il y a $ 2 \ cdot3 \ cdot3 \ cdot3 = 54 $ possibilités.
Ces deux compte ajouter à la réponse souhaitée.
Commentaires
- Je ' Je suis un peu perdu sur votre explication . Jarrive à la LHLH mais après ça, peut-être que je ' m dense?
- Daprès les commentaires sur lOP, le double du nombre alterné peut être plus de 4 chiffres.
- @GentlePurpleRain Cela na ' t important. Un nombre à cinq chiffres doit commencer par 1, mais son dernier chiffre doit être pair, il peut donc ' t alterner.
- @f ' ' oui, mais aucun numéro à 5 chiffres ne peut être coupé de toute façon
- @mikeearnest a ajouté un petit peu à votre réponse. Nhésitez pas à revenir en arrière si vous navez pas ' t comme ça
Réponse
La réponse r est
70
Jai fait un comptage manuel. Jessaie toujours de trouver une solution mathématique.
Commentaires
- Je ' je suis désolé, que ' nest pas la réponse. Comment en êtes-vous arrivé à cette réponse?
- @xander vérifie ma dernière modification
- Je ' je suis désolé, ce nest toujours pas la bonne réponse
- Attendez, je vois ce que jai mal fait, attendez
- @xander Et maintenant?
Réponse
Merde, jai commencé cette force brute avant les réponses et jai obtenu
70
VBA
Une meilleure logique pour cette route aurait été
if (one mod 2 = three mod 2) and (two mod 2 = four mod 2) then if one mod 2 <> two mod 2 then counter increase
Réponse
Nous y voilà, encore une fois la force brute!
La réponse est, comme indiqué dans dautres réponses:
70
Vous pouvez vérifier JSFiddle pour le code source et la liste complète des nombres très alternatifs à 4 chiffres.
Réponse
La bonne réponse est:
70
#AnubhavBalodhi, puzzling.stackexchange,26036, 1/2/16 2341 hrs E=["0","2","4","6","8"] O=["1","3","5","7","9"] ans=0 alters=[] def Alt(num): N=str(num) if len(N)<5: #4 digit if (N[0] in E and N[1] in O and N[2] in E and N[3] in O) or (N[0] in O and N[1] in E and N[2] in O and N[3] in E): alters.append(num) else: #5 digit if (N[0] in E and N[1] in O and N[2] in E and N[3] in O and N[4] in E ) or (N[0] in O and N[1] in E and N[2] in O and N[3] in E and N[4] in O): alters.append(num) for num in range(1000,10**5): Alt(num) #print(num) print(len(alters)) for numb in alters: if numb<9999 and numb*2 in alters: #if the number in alternating list is of 4 digits, and its double is also in the list. print(numb) ans+=1 print("ans is %d" %(ans))
1818
, qui double à3636
, puis de nouveau à7272
. Il peut y en avoir plus si vous autorisez le double et le double-double à 5 chiffres …3
,9
,18
,109
,309
,418
,818
,909
,1818
. Parmi ceux-ci, seuls9
,109
et909
sont très très toutes les en alternance. Je ' je suis presque sûr quil ' est impossible den trouver un qui ' aux cinq niveaux de très alterné.