Lucka 12

Lösning presenteras imorgon kl 08:00

För att fira att det är halvvägs till julafton (12 dagar av december har gått, och det är 12 dagar kvar) så anordnar Tomtenissarna sitt årliga lotteri.

Vinsten för i år är tomtens tomteluva från 2019 (signerad av tomten själv), ett pepparkakshus byggt i verklig tomtenissestorlek och tre flaskor av den hemliga dryck som gör att tomtens renar kan resa så fort över jordklotet.

Vinstlotten beräknas genom att nissarna drar 20 slumpmässigt valda tal ur en stor skål. Nissarna utför sedan Collatz problem på alla slumpmässiga tal, och räknar det totala antalet talföljder för alla 20 tal. Det totala antalet talföljder ger vinstlottens nummer.

Collatz problem går ut på följande:
1. Man utgår från ett positivt heltal (som nissarna drar ur skålen)
2. Om talet är jämnt, dela det på 2. Om det är udda, multiplicera det med 3 och addera sedan 1.
3. Upprepa steg 2 tills dess att talet du har kvar är lika med 1.

Om man t.ex. ”stoppar in” talet 5 i Collatz problem så får man följande talföljd:
16 (eftersom 5 är udda så multiplicerar vi med 3 och adderar sedan 1)
8 (eftersom 16 är jämnt så delar vi på 2)
4 (eftersom 8 är jämnt så delar vi på 2)
2 (eftersom 4 är jämnt så delar vi på 2)
1 (eftersom 2 är jämnt så delar vi på 2)

Med talet 5 så blev talföljdens längd 5, eftersom vi gjorde 5 steg (16,8,4,2,1)

De 20 slumpvis valda talen som nissarna har dragit ur skålen är samlade i följande listor:
Som lista i Python
Som txt-fil

Utför Collatz problem på alla tal och räkna ihop vinstlottens nummer genom att summera längderna på alla talföljder.

Vilket nummer har vinstlotten?

PS. Om du är intresserad av att läsa mer om Collatz problem, se: https://sv.wikipedia.org/wiki/Collatz_problem

Unga Programmerare håller kurser i programmering för barn och ungdomar. Unga Programmerare startades av studenter från Chalmers Tekniska Högskola.

Följ oss

Nyhetsbrev