7
Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt tal x , summera alla naturliga tal d som x är delbar med, och som är mindre än x . Talen d kallas divisorer eller delare till x , och summan (som beräknas av proceduren nedanför) benämnes divisorsumman till x . T.ex. har 6 divisorsumman 1 + 2 + 3. Divisorsumman till x i r = r 1 d 2 Sålänge d < x { Om x är delbar med d så Addera d till r Öka d } Primtalens divisorsummor är alltid lika med 1, eller hur! Och sammansatta tals divisorsummor är alltid större än 1. I sällsynta fall blir ett tals divisorsumma lika med x själv. När det inträf- far sägs x vara perfekt. Talet 6 är det minsta perfekta talet. x divisorsumman till x 4 1 + 2 3 perfekt 6 1 + 2 + 3 6 8 1 + 2 + 4 7 9 1 + 3 4 10 1 + 2 + 5 8 Det är okänt hur många perfekta tal det finns. I skrivande stund känner man bara till fyrtioåtta stycken. Det största av dessa upptäcktes år 2008, och är över 25 miljoner siffror långt, något som antyder att de perfekta talen är mycket sällsynta. Märkligt nog kan ett program, som för ett godtyckligt x reder ut om x är perfekt eller ej, vara mycket kort: x är perfekt? i s = Divisorsumman till x i r x r ? i s

Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

Problemdemonstration 1Divisorsummor och perfekta talLåt oss för ett givet positivt naturligt tal x, summera alla naturliga tal d som x är delbar med, och som är mindre än x. Talen d kallas divisorer eller delare till x, och summan (som beräknas av proceduren nedanför) benämnes divisorsumman till x. T.ex. har 6 divisorsumman 1 + 2 + 3.

Divisorsumman till x i r = r ¬ 1 d ¬ 2 Sålänge d < x { Om x är delbar med d så Addera d till r Öka d}

Primtalens divisorsummor är alltid lika med 1, eller hur! Och sammansatta tals divisorsummor är alltid större än 1. I sällsynta fall blir ett tals divisorsumma lika med x själv. När det inträf-far sägs x vara perfekt. Talet 6 är det minsta perfekta talet.

x divisorsumman till x4 1 + 2 ‡ 3

perfekt 6 1 + 2 + 3 ‡ 68 1 + 2 + 4 ‡ 79 1 + 3 ‡ 4

10 1 + 2 + 5 ‡ 8

Det är okänt hur många perfekta tal det finns. I skrivande stund känner man bara till fyrtioåtta stycken. Det största av dessa upptäcktes år 2008, och är över 25 miljoner siffror långt, något som antyder att de perfekta talen är mycket sällsynta.

Märkligt nog kan ett program, som för ett godtyckligt x reder ut om x är perfekt eller ej, vara mycket kort:

x är perfekt? i s = Divisorsumman till x i r x ‡ r ? i s

Page 2: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

Perfekta tals primtalsfaktorerNär man primtalsfaktoriserar de fyra minsta perfekta talen, finner man ett anmärkningsvärt mönster, där primtalet 2 har en framträdande roll:

6 ‡ 2 ÿ3 ‡ 21 ÿ I20 + 21M ‡ 2 ÿ I22 - 1M

28 ‡ 2 ÿ2 ÿ7 ‡ 22 ÿ I1+ 21 + 22M ‡ 22 ÿ I23 - 1M

496 ‡ 2 ÿ2 ÿ2 ÿ2 ÿ31 ‡ 24 ÿ I1+ 21 + 22 + 23 + 24M ‡ 24 ÿ I25 - 1M

8128 ‡ 2 ÿ2 ÿ2 ÿ2 ÿ2 ÿ2 ÿ127 ‡ 26 ÿ I1+ 21 +…+ 26M ‡ 26 ÿ I27 - 1M

Som synes kan de fyra första perfekta talen skrivas på formen

(1)2p-1 ÿ H2p - 1L , där p är ett primtal.

Den schweiziske matematikern Leonhard Euler visade för drygt hundra år sedan att alla jämna perfekta tal (inte bara de fyra första) har primtalsfaktoriseringar på formen (1).

Primtalsfaktorn

(2)2p - 1

från (1) har väckt matematikers intresse under århundranden. Tidigt upptäckte man att om man pluggar in de fyra första primtalen p = 2, 3, 5, 7 i (2), så får man primtalen 3, 7, 31, 127. Därför dristade sig en del matematiker i den tidiga matematikhistorien att formulera den djärva hypotesen att 2p - 1 är ett primtal för varje primtalsvärde på p. Emellertid upptäckte man snart att 211 - 1 inte är ett primtal, trots att 11 är det. Och längre fram upptäcktes ännu flera undantag från hypotesen.

Marin Mersenne, en fransk munk, musikteoretiker, filosof och matematiker framförde år 1644 hypotesen att 2p - 1 genererar primtal enbart för p = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127 och 257. Fastän också denna hypotes har visat sig vara falskt, kallas primtal som är på formen 2p - 1 för Mersenneprimtal.

Notera till sist att (1) är lika med en produkt mellan två på varandra följande tal dividerat med två:

Problemdemonstration 1.nb 2

Page 3: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

(3)2p-1 ÿ H2p - 1L ‡2p

21ÿ H2p - 1L ‡

n

2ÿ Hn - 1L ‡

Hn - 1L ÿ n

2där n = 2p .

Tal som är hälften av en produkt mellan två på varandra följande tal återkommer nedanför.

TriangeltalNär man räknar antalet kulor i trianglar med n = 0, 1, 2, 3, 4, 5, 6, 7 kul-rader, uppträder talen 0, 6, 10, 15, 21, 28. Se figuren nedanför. Talen, som av de gamla grekerna kallades för triangeltal, har en tendens att dyka upp i kombinatoriska sammanhang. Lägg märke till att de två per-fekta talen 6 och 28 återfinns här. Vi ska se att detta inte är en slump.

n triangeltal0 01 12 3 ‡ 0 + 1 + 2

3 6 ‡ 0 + 1 + 2 + 3

4 10 ‡ 0 + 1 + 2 + 3 + 4

5 15 ‡ 0 + 1 + 2 + 3 + 4 + 5

6 21 ‡ 0 + 1 + 2 + 3 + 4 + 5 + 6

7 28 ‡ 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7

Den vänstra proceduren nedanför beräknar det n:te triangeltalet genom att lägga ihop talen 0, 1, 2, …, n i turordning, det ena efter det andra.

Triangeltal n i r = r ¬ 0 k ¬ 1 Sålänge k § n {

Addera k till r Öka k}

x är ett triangeltal? i s = t ¬ 0 n ¬ 1 Sålänge t < x {

Triangeltal n i t Öka n}t ‡ x? i s

3 Problemdemonstration 1.nb

Page 4: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

Triangeltal n i r = r ¬ 0 k ¬ 1 Sålänge k § n {

Addera k till r Öka k}

x är ett triangeltal? i s = t ¬ 0 n ¬ 1 Sålänge t < x {

Triangeltal n i t Öka n}t ‡ x? i s

Den högra reder ur om x är ett triangeltal, genom att undersöka det min-sta triangeltal t som inte ligger till vänster om x. Detta triangeltal är nämligen det enda som möjligen kan vara lika med x.

För att hitta nämnda triangeltal, beräknas det ena triangeltalet efter det andra i storleksordning tills det framräknade triangeltalet t inte längre är mindre än x. Då är t det minsta triangeltal som inte ligger till vänster om x.

xt

x

t

EN SLUTEN FORMEL Istället för att lägga ihop talen 0, 1, 2, …, n i storleksordning, kan man förstås börja med att lägga samman det första talet och det sista, vilket ger 1 + n, sedan ta det andra och det näst sista som också (varför då?) ger 1 + n, osv…. Totalt blir det n ê2 stycken termer av storlek n + 1. Det n:te triangeltalet 1 + 2 + … + n ges därför av den slutna formeln

n2

ÿ Hn + 1L = n ÿ Hn+1L2

Men vi påpekade nyss (Se (3).) att varje jämnt perfekt tal kan skrivas som hälften av en produkt mellan två på varandra följande tal (där det största är lika med ett Mersennprimtal). Det följer att alla jämna perfekta tal är triangeltal.

Problemdemonstration 1.nb 4

Page 5: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

PyramidtalDen enklaste kulpyramiden har en kula i toppen och därunder tre kulor som bildar en triangel. Större pyramider fås genom att tillfoga flera (och större) kultrianglar i botten. Antalet kulor i en kulpyramid är därför en summa av triangeltal. Vi kallar nämnda antal för ett pyramidtal.

n pyramidtal0 01 1

2 4 ‡ 0 + 1 + 3

3 10 ‡ 0 + 1 + 3 + 6

4 20 ‡ 0 + 1 + 3 + 6 + 10

5 35 ‡ 0 + 1 + 3 + 6 + 10 + 15

En procedur som beräknar pyramidtal behöver bara addera triangeltal.

Pyramidtal n i r =r ¬ 0k ¬ 1Sålänge k § n {

Triangeltal k i tAddera t till rÖka k}

Försök hitta en s.k. sluten formel för pyramidtalen motsvarande den

slutna formeln n ÿ Hn+1L2

för triangeltalen.

Summor av summor av … summor av ettor

5 Problemdemonstration 1.nb

Page 6: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

Summor av summor av … summor av ettorVi ska nu visa att triangeltal och pyramidtal ingår som byggstenar i ett omfattande byggnadsverk skapat med hjälp av 1:or allena.

Börja med att ställa upp en inledande kolumn av 1:or. Upprätta sedan en ny kolumn till höger om den första. Fyll varje position i den nya kolumnen med summan av de tal som finns ovanför och till vänster (om den nämnda positionen).

Fortsätt sedan att upprätta den ena kolumnen efter den andra med positioner fyllda enligt samma princip. Till slut får vi lika många kolumner som rader.

kol 0 kol 1 kol 2 kol 3 kol 4 kol 5

rad 0 1 0 0 0 0 0

rad 1 1 1 0 0 0 0

rad 2 1 2 1 0 0 0

rad 3 1 3 3 1 0 0

rad 4 1 4 6 4 1 0

rad 5 1 5 10 10 5 1

Man kan konstatera att kolumn 2 innehåller triangeltal. Och det är ju inte så konstigt – med tanke på vilka tal som adderas när man fyller i rutorna i kolumn 2. Och i kolumn 3 hittar vi förstås pyramidtal, eftersom varje ruta i nämnda kolumn har fyllts med en summa av triangeltal. T.ex. uppstår pyramidtalet 10 på rad 5 och kolumn 3 genom addition av de markerade talen 1, 3, 6 i kolumn 2, vilka i sin tur är byggda med hjälp av tal i kolumn 1, vilka slutligen är byggda av 1:or från kolumn 0. För att framhäva detta kan vi skriva

10 = 1 + 3 + 6 = 1 + H1 + 2L + H1 + 2 + 3L = 1 + H1 + H1 + 1LL + H1 + H1 + 1L + H1 + 1 + 1LL

.

Problemdemonstration 1.nb 6

Page 7: Problemdemonstration 1 - Uppsala Universitysalling/ALGORITMIK/2012/PROBLEMDEMO... · Problemdemonstration 1 Divisorsummor och perfekta tal Låt oss för ett givet positivt naturligt

10 = 1 + 3 + 6 = 1 + H1 + 2L + H1 + 2 + 3L = 1 + H1 + H1 + 1LL + H1 + H1 + 1L + H1 + 1 + 1LL

.

Tal som beskrivs med hjälp av samma sorts tal men enklare (så är det ju med talen i de olika positionerna), kan med fördel beräknas med en procedur som anropar sig själv. Proceduren nedanför – som beräknar ett tal i en godtycklig position (rad, kolumn) – är konstruerad på detta sätt.

Tal i position (rad, kol) i r = Om kol > rad så r ¬ 0 annars r ¬ 1 Om kol > 0 så rad ' ¬ rad

kol ' ¬ kolMinska rad 'Minska kol 'Sålänge rad ' > kol ' {

Tal i position (rad ', kol ') i tAddera t till rMinska rad ' }

Lägg märke till att de positioner som fylls med nollskilda tal bildar en (liksidig) triangel. Den brukar kallas Pascals triangel efter den franske matematikern Blaise Pascal som (på 1600-talet) tillsammans med advokaten Pierre de Fermat formulerade de första idéerna för sannolikhets-teorin. Talen i triangeln spelar en väsentlig roll i denna teori. Det är nämligen så att det tal som ligger på rad r i kolumn k beskriver antalet sätt att välja k element av r element. T.ex. beskriver triangeltalet 6 (på rad 4 i kolumn 2) antalet sätt att välja två element av fyra element, varför sannolikheten att just Adam och Eva väljs, när två personer skall väljas på måfå ur gruppen Adam, Kalle, Eva och Steve är 1/6.

7 Problemdemonstration 1.nb