Afwisselende nummers zijn nummers waarin alle cijfers afwisselend even en oneven zijn. Bijvoorbeeld: 2703 en 7230 zijn afwisselende getallen, maar 2730 is niet “t.
Getallen zijn erg wisselend wanneer het dubbele getal ook een afwisselend getal is, bijvoorbeeld 3816 is erg afwisselend, omdat 7632 ook een afwisselend nummer is.
De vraag aan jou is: hoeveel 4 cijfers zeer wisselende nummers zijn er? (het nummer kan “niet beginnen met een of meerdere nullen)
Dit probleem kan natuurlijk worden opgelost door te programmeren, maar het kan ook wiskundig worden opgelost! Veel succes!
NB: ik heb deze puzzel niet zelf bedacht, hij maakt deel uit van de Nederlandse Wiskunde Olympiade, zie deze PDF
Opmerkingen
Antwoord
Er is een aantal van zulke nummers
70
Wanneer u een getal verdubbelt, is een cijfer van het resultaat zelfs als en slechts als het cijfer tot rechts niet.
Daarom is $ 2x $ afwisselend als en slechts als de cijfers van $ x $ $ LHLH $ zijn, waarbij $ L \ in \ {0,1,2,3 , 4 \} $ en $ H \ in \ {5,6,7,8,9 \} $.
(Als een kanttekening, dit impliceert dat als $ x $ sterk afwisselend is, $ 2x $ zal nog steeds een viercijferig getal zijn, zodat $ x < 5000 $ noodzakelijkerwijs).
We weten dat als $ x $ afwisselend is wanneer het lijkt op OEOE of EOEO. Om $ x $ erg afwisselend te laten zijn, moet het ook $ LHLH $ zijn, dus laten we het aantal manieren tellen om aan beide beperkingen te voldoen.
-
OEOE
: elk oneven getal moet laag zijn, wat betekent dat ze elk $ 1 $ of $ 3 $ zijn. Elke even moet hoog zijn, dus is ofwel $ 6 $ of $ 8 $. Er zijn twee keuzes voor elk cijfer voor een totaal van $ 2 \ cdot2 \ cdot2 \ cdot2 = 16 $ mogelijkheden.
-
EOEO : Nu zijn de evens laag ($ 0,2 $ of $ 4 $), en de kansen zijn hoog ($ 5,7 $ of $ 9 $). Er zijn drie keuzes voor elk cijfer, behalve dat het eerste cijfer “niet nul mag zijn, dus er zijn $ 2 \ cdot3 \ cdot3 \ cdot3 = 54 $ mogelijkheden.
Deze twee telt toe aan het gewenste antwoord.
Reacties
- Ik ' m ben een beetje verdwaald met je uitleg . Ik kom bij de LHLH maar daarna, misschien ' m dicht?
- Volgens de opmerkingen over het OP kan het dubbele van het afwisselende nummer zijn meer dan 4 cijfers.
- @GentlePurpleRain Het doet niet ' er toe. Een vijfcijferig getal moet beginnen met 1, maar het laatste cijfer moet even zijn, dus het kan ' niet afwisselen.
- @f ' ' ja, maar ook geen 5-cijferige getallen maken hoe dan ook de cut
- @mikeearnest heeft een klein beetje aan je antwoord toegevoegd. Voel je vrij om terug te draaien als je niet ' vind het niet leuk
Antwoord
Het antwoord r is
70
Ik heb een handmatige telling gedaan. Ik probeer nog steeds een wiskundige oplossing uit te werken.
Reacties
- Ik ' m sorry, dat ' s niet het antwoord. Hoe ben je aan dit antwoord gekomen?
- @xander check mijn laatste bewerking
- Ik ' m sorry, nog steeds niet het goede antwoord
- Wacht, ik zie wat ik verkeerd heb gedaan, wacht even
- @xander Hoe zit het nu?
Antwoord
Verdomme, ik begon deze brute kracht vóór de antwoorden en ik kreeg
70
VBA
Betere logica voor deze route zou zijn geweest
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
Antwoord
Daar gaan we, weer brute kracht!
Het antwoord is, zoals aangegeven in andere antwoorden:
70
U kunt JSFiddle voor de broncode en een volledige lijst van 4-cijferige zeer alternatieve nummers.
Antwoord
Het juiste antwoord is:
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
, dat verdubbelt tot3636
, en dan weer naar7272
. Er kunnen er meer zijn als je het dubbele en dubbele dubbele uit 5 cijfers laat bestaan …3
,9
,18
,109
,309
,418
,818
,909
,1818
. Van deze zijn alleen9
,109
en909
zeer zeer very afwisselend. Ik ' ben er vrij zeker van dat het ' onmogelijk is om er een te vinden die ' vijf niveaus heeft van zeer afwisselend.