GETALLEN 0 Tellen 1 Gehele getallen

advertisement
GETALLEN
Tussen haakjes staan de namen van de programma's, in de groep GRGETALN .
0
Tellen
- Aftellen (AFTELLEN ) ..............................................................................................................................................1
- Is pincodes tellen dom werk? (DOMWERK, CIJFERS4, CIJFERS5) ...........................................................2
1
Gehele getallen
1.1
Ontbinden (DELERS, ONTBIND, AANUIT ) .......................................................................................................5
- De priemgetallengenerator (PRIEMTST, PRIEMRIJ ) ...................................................................................7
- De Grootste Gemene Deler (GGD ) ......................................................................................................................8
Diophantische vergelijkingen (DIOFANT1) ......................................................................................................10
- De stelling van Pythagoras in R2 ( PYTHAGO2 ) ..............................................................................................11
- De stelling van Pythagoras in R3 ( PYTHAGO3 ) ..............................................................................................13
- Het vermoeden van Fermat (PSFERMAT ) ........................................................................................................14
- Fibonacci en het 3n+1 vermoeden (FIBONAC, N3PLUS1) ..........................................................................16
1.2
Antwoorden ...........................................................................................................................................................................22
GETALLEN
0.
Tellen
Aftellen
Dit boek is een speurtocht naar merkwaardigheden rond getallen, getalrijen, getalverzamelingen,
getallenparen (coördinaten), toevalsgetallen, getalbewerkingen, variabele getallen (letters) en
verbanden tussen variabelen (functies). Aan de basis daarvan lig het tellen. Paragraaf nul dus. Is aan
zoiets gewoons als tellen nog wat bijzonders te bespeuren? Voor de hand ligt een onderzoekje naar het
aftellen.
Tien kinderen staan in een kring. Wie krijgt het ijsje? Via het aftelversje ie-wie-waai-weg (met de
klemtoon op de vierde lettergreep) wordt elk vierde kind afgetikt (je kunt ook zeggen dat er telkens
drie overgeslagen worden). Welk kind blijft over?
Voor het gemak geven we de kinderen een nummer, van 1 tot en met 10. De eerste paar stappen zijn:
1 2 3 4 5 6 7 8 9 10
1 2 3 5 6 7 9 10
1 3 56
9 10
waarna een kind kan zien hoe het afgemaakt wordt. Nummer 5 krijgt het ijsje.
Als je hier een programma voor maakt, moet dat ook met andere getallen bruikbaar zijn. Zo krijg je
variabelen. Bijvoorbeeld N voor het aantal kinderen (1,2,3,...,N) en P voor het aantal overgeslagenen.
In regel 2 van het volgende TIBASIC programma is een rij L1 met N enen geformeerd. Een 1 betekent
dat een kind nog meedoet. Elke geschrapte 1 gaat over in een nul (regel 9).
In regel 5 is X het aangetikte nummer en telt T van 1 tot en met P zolang er een 1 in de lijst op
nummer X staat. Daarna (in regels 8 en 9) wordt het te schrappen nummer op het scherm geplaatst
(Disp is van Display) en op nul gezet. Ook de teller T wordt dan op nul gezet. T staat dus voor het iewie-waai.
In regel 11, 12 en 13 telt S het aantal enen in L1. In regel 14 tellen we door vanaf het begin van de rij
zolang er meer dan één 1 staat. De inleidende en begeleidende tekst van het programma AFTELLEN
zijn hier niet vermeld. Een goede intro en toelichting zijn weliswaar belangrijk (een andere gebruiker
moet het programma zonder problemen kunnen hanteren), maar leiden te veel af van de inhoud.
Daarom tonen we in het algemeen slechts de kern van een programma, een enkele keer zelfs alleen
maar de belangrijkste regel uit die kern.
1.
2.
3.
Nüdim(L1 )
Fill(1,L1 )
0üT:0üX
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Lbl 0
X+1üX:T+L1 (X)üT
If T=P
Then
Disp X
0üL1 (X):0üT
End
sum(L1 )üS
If X<N:Goto 0
0üX
If S>1:Goto 0
Disp "OVER BLIJFT NR.:"
For(Y,1,N)
If L1 (Y)=1:Disp Y
End
GETALLEN
-1-
Is pincodes tellen dom werk?
Vraagje 1: Hoeveel van de 100 getallen 00 t/m 99 bestaan uit twee verschillende cijfers?
Het antwoord daarop is gauw gevonden. Er zijn 100 getallen, waarvan er 10 uit twee gelijke cijfers
bestaan (namelijk de getallen 00, 11, 22, 33, 44, 55, 66, 77, 88 en 99). Over blijven dus 100-10 = 90
getallen met twee verschillende cijfers. Met een kleine redenering kan je ook op een andere manier aan
dat antwoord komen: voor het eerste cijfer zijn er 10 mogelijkheden (0 t/m 9); bij elk van die 10
keuzes zijn er nog 9 mogelijkheden voor het andere cijfer; totaal dus 10´9=90.
We noteren de uitkomsten van het aantal getallen met respectievelijk 1 en 2 verschillende cijfers als
#(1)=10 en #(2)=90.
Vraagje 2: Hoeveel van de getallen 000 t/m 999 bestaan uit een, twee of drie verschillende cijfers?
Niet te gauw hoera roepen, we moeten namelijk drie gevallen onderscheiden:
(1) het type {A,A,A} zoals bijvoorbeeld 333 of 000
(2) het type {A,A,B} met twee verschillende cijfers, zoals 225 of 020 en
(3) het type {A,B,C} met drie verschillende cijfers, zoals 537 of 189
Van het eerste type zijn er weer 10 versies (000 t/m 999); van type (2) zijn er 10 mogelijkheden voor
A en (nadat je A gekozen hebt) 9 voor B en (nadat je een volgorde uit {A,A,B} gekozen hebt) 3
rangschikkingen AAB, ABA, BAA zodat er in totaal 10´9´3 = 270 mogelijkheden zijn. Voor type (3)
resteren er dus 1000 – 10 – 270 = 720 getallen. Met de opmerking dat voor type (3) ook de berekening
10´9´8 = 720 in aanmerking komt.
Samengevat:
#(1)=10
#(2)=270
#(3)=720
controle: #(1) + #(2) + #(3) = 1000.
Slim gewerkt, al zeggen we het zelf. Nu pakken we de programmeerbare rekenmachine om het een en
ander te controleren. Dom werk dus, maar het geeft een goed gevoel om een rekenmachine te slim af
te wezen. Ik noem het programma DOMWERK. In het begin staat de teller T op nul. Vervolgens
doorlopen A, B en C alle mogelijkheden van 0 t/m 9. T wordt met 1 verhoogd (T+1üT) zodra de drie
cijfers verschillend zijn. Ik heb wat verklarende teksten toegevoegd, maar die zijn er alleen voor de
gebruiksvriendelijkheid. Ziehier de kern van een mogelijk TIBASIC programma dat #(3) uitrekent.
De uitdrukking For(A,0,9) betekent "Voor A lopend vanaf 0 t/m 9".
0üT
For(A,0,9)
For(B,0,9)
For(C,0,9)
If AøB and BøC and AøC
Then
T+1üT
End
End
End
End
Disp T
Voor #(2) is een kleine wijziging in de broncode voldoende. In de vijfde regel moet dan staan:
If A=B and BøC met in de zevende regel: T+3üT
ter vervanging van de ingewikkelde logische constructie:
En voor #(1):
If A=B and BøC or A=C and AøB or B=C and AøB
If A=B and B=C
Dom werk? Wacht even. Hoe staat het met viercijferige getallen?
GETALLEN
-2-
Vraagje 3: Een pincode bevat vier cijfers (0000 t/m 9999).
Hoe groot is de kans dat een willekeurige pincode
#(1) uit vier gelijke cijfers (bijvoorbeeld 0000)
#(2) uit twee verschillende cijfers (bijvoorbeeld 2233 of 2333)
#(3) uit drie verschillende cijfers (bijvoorbeeld 2234)
#(4) uit vier verschillende cijfers (bijvoorbeeld 5308) bestaat?
We lossen dit eerst "even" slim op.
(1) De kans op vier gelijke cijfers is 0,1% want #(1) is weer 10. Geen probleem.
(2) en (3) slaan we even over.
(4) Het aantal getallen met vier verschillende cijfers is #(4)=10´9´8´7=5040; de kans daarop is 50,4%
(2)
Type {A,A,B,B} met AABB, ABAB en ABBA geeft 3´10´9=270 mogelijkheden.
Type {A,A,A,B} met AAAB, AABA, ABAA en BAAA levert 4´10´9=360 mogelijkheden.
Totaal 270+360=630 mogelijkheden met kans 6,3%.
(3) Type {A,A,B,C} levert zes mogelijkheden: AABC, ABAC, ABCA, BAAC, BACA en BSAA. Dus
in totaal 6´10´9´8=4320 mogelijkheden met kans 43,2%.
Controle:
#(1)=10
#(2)=630
#(3)=4320
#(4)=5040
totaal: 10+630+4320+5040=10 000.
Je begrijpt nu waarom ik het woord "even" tussen aanhalingstekens gezet had. Ik denk dat er niet zo
gek veel mensen in staat zijn deze uitwerking zelf te bedenken. Daarvoor is een toch wel grote
technische vaardigheid vereist. En er is nog een kanttekening. Als het gaat om meer dan vier cijfers,
wordt het probleem al gauw praktisch onoplosbaar, zelfs voor routiniers. Tussen twee haakjes, vaak
ondekt zo'n routinier een algemene formule, waarna het oplossen van een probleem neerkomt op het
invullen van getalwaarden in die formule. Ik weet niet of er zo een formule bestaat voor pincodes met
meer dan 4 cijfers, ik denk het wel, maar eerlijk gezegd interesseert me dat niet erg. Wel wil ik graag
onderzoeken of er een programmaatje voor dit probleem geschreven kan worden.
Laten we het daarom nog maar eens met de computer (in dit geval dus de grafische rekenmachine TI83 of TI-84 met TIBASIC) proberen. De hierboven gekozen methode met
If A=B and BøC or A=C and AøB or B=C and AøB
is niet handig, want je krijgt zo enorme ketens van onontwarbare logische betrekkingen. We zullen een
andere aanpak moeten bedenken. Ik geef eerst het fundament van het programma CIJFERS4 en daarna
de toelichting. Is dit dom werk? Oordeel zelf.
1.
For(A,0,9)
2.
For(B,0,9)
3.
For(C,0,9)
4.
For(D,0,9)
5.
{A,B,C,D}üL1
6.
SortA(L1)
7.
1+sum(¾List(L1)=0)üS
8.
1+L3(S)üL3(S)
9.
End
10.
End
11.
End
12.
End
13. L3üL2
GETALLEN
-3-
In de regels 5 en 6 wordt het actuele stel waarden van A, B, C en D in de lijst L1 gestopt die direct
daarna oplopend gesorteerd wordt met SortA(L1). Regel 7 is ingewikkeld; ¾List(L1) is de
verschilrij van lijst L1. Om regel 7 goed te begrijpen moet je de werking van de logische beweringen
(= > < enzovoorts) kennen. Een logische bewering kent slechts twee uitkomsten: goed (uitkomst 1)
of fout (uitkomst 0).
Zo heeft de bewering 7<9 de uitkomst 1, want hij is waar.
De uitkomst van 7=9 is 0 (nul) want hij is onwaar.
De uitkomst van {1,2,3,4}={1,3,5,7} is {1,0,0,0} want alleen de eerste term klopt.
En de uitkomst van {1,2,2,3,4,5}=2 zal zijn {0,1,1,0,0,0}.
De logische bewering ¾List(L1)=0 geeft dus ook een rijtje nullen en enen. Ik zal dat toelichten met
een getallenvoorbeeld. Stel dat L1={A,B,C,D} op een bepaald moment de waarden {4,5,5,9} heeft (al
oplopend gesorteerd met SortA(L1)), dan is de verschilrij ¾List(L1)= {1,0,4} en het resultaat
van ¾List(L1)=0 is nu {0,1,0} omdat het middelste getal nul is. De som van (¾List(L1)=0) is
nu 1 omdat er één 1 in staat (verder alleen maar nullen). De uitdrukking in regel 7 sommeert dus het
aantal gelijke cijfers S in het rijtje L1. In regel 8 wordt de S-de term van L3 met één verhoogd. (Aan
het eind verschuiven we lijst L3 nog naar L2, om cosmetische redenen). Een intro en een verzoek om
geduld voltooien het geheel.
Is dat dom werk? Ik dacht het niet!
En nu de finishing touch. Het kostte me minder dan een minuut om de regels 4 en 5 zodanig te
wijzigen (met een extra End aan het eind) dat de mogelijkheden voor een pincode van vijf cijfers
berekend konden worden. De TI-83, gehoorzaam en geduldig, deed daar ruim een uur over. Zie het
rechter plaatje. Je ziet daar o.a. uit dat de kans dat een vijfcijferige pincode uit vier verschillende
cijfers bestaat, praktisch gelijk is aan 50% (toevallig hetzelfde als bij een viercijferige pincode).
[ Muggenzifters (en een echte wiskundige is altijd een beetje aan het muggenziften) zullen vallen over
het woord toevallig in de vorige zin. De kans op vier verschillende cijfers bij een viercijferige pincode
is precies even groot als bij een vijfcijferige pincode omdat het aantal combinaties van 2 uit 5 een
tienvoud is, namelijk 10. En dat is wèl toevallig. ]
GETALLEN
-4-
1.
Gehele getallen
1.1
Ontbinden
"Oude" Grieken als Euclides (300 vC) en Pythagoras (500 vC) hebben zich intensief beziggehouden
met getaltheorie. Daarbij wordt alleen gekeken naar de natuurlijke getallen (0, 1, 2, 3, …) of de
gehele getallen (0, 1, 2, 3, … maar ook -1, -2, -3, …).
We noemen A deelbaar door B (of: B is een deler van A, of: B deelt op A) als voor de gehele getallen
A, B en B' (B¹0 en B' ¹0) geldt:
A
= B¢
B
A
Aangezien A = B ´ B¢ en dus
= B , zal ook B ' een deler zijn van A.
B¢
Bij iedere deler B van A hoort dus een partner B', die eventueel gelijk is aan B. In dat geval is A=B´B
dus het kwadraat van B. Als je alle delers zoekt van een getal N hoef je dus alleen maar te kijken naar
de delers kleiner dan of gelijk aan Ö N. Neem bijvoorbeeld N=36 met Ö 36 = 6. Beginnend bij 1 vind
je achtereenvolgens de delers 2, 3, 4 en 6.
bij 1 hoort 36
bij 2 hoort 18
bij 3 hoort 12
bij 4 hoort 9
bij 6 hoort 6.
Stoppen maar, want de eerstvolgende deler (9) is al genoemd. Het getal 36 heeft dus negen delers. Bij
veel onderzoek naar de deelbaarheid van een getal N hoef je dus niet verder te gaan dan Ö N. De TI-83
gebruikt iPart(X) voor het gehele deel van X en fPart(X) voor het breukdeel van X. Zo is
iPart(17/5)=3 en fPart(17/5)=2/5=0.4. Als A deelbaar is door B, dan is fPart(A/B)=0 .
In het volgende programma DELERS verschijnen alle delers van een ingevoerd getal in paren op het
scherm. Het aantal delers wordt geteld door T , het rijnummer is X.
Input "GETAL?",N
ClrHome
For(I,1,ð(N))
"I=DELER?"
If fPart(N/I)=0
"DELER GEVONDEN"
Then
X+1üX
"X=RIJNUMMER"
If X=9
"NIEUW SCHERM ALS LAATSTE RIJ"
Then
Pause :ClrHome
1üX
End
Output(X,1,I):Output(X,8,"*"):Output(X,11,N/I)
End
End
GETALLEN
-5-
Priemgetallen zijn natuurlijke getallen met precies twee delers, namelijk 1 en het getal zelf. De rij
priemgetallen begint dus met 2, 3, 5, 7, 11, 13, 17, 19. Straks meer daarover. De hoofdstelling van de
rekenkunde zegt hierover het volgende.
Elk natuurlijk getal > 1 is, afgezien van de volgorde, op precies één manier te schrijven als product
van priemgetallen.
3
2
1
Zo is het getal 2600 te schrijven als 2 ´5 ´13 . De getalletjes op één hoog heten de exponenten van de
priemdelers 2, 5 en 13. Men zegt dat het getal ontbonden is in (priem)factoren (priemdelers). Dat
ontbinden gaat zo dat je, beginnend met het kleinste priemgetal (2), door alle priemgetallen probeert te
delen tot er 1 staat:
3
2600/2=1300, 1300/2=650, 650/2=325 dus 3 keer door 2 gedeeld; factoren 2 ; door 3 delen lukt niet;
2
325/5=65, 65/5=13 dus 2 keer door 5 gedeeld; factoren 5 ; delen door 7 en 11 lukt niet;
1
13/13=1; tenslotte 1 keer door 13 gedeeld; factor 13 ; uiteindelijk kom je altijd op 1 uit.
Zo'n zichzelf herhalend mechanisme heet een algoritme (rekenritme) en wordt in het volgende
programma ONTBIND gedemonstreerd.
Prompt N
1üS:2üF:0üE
ð(N)üM
"VRAAGT DE WAARDE VAN N"
Hierna komen twee While opdrachten. E telt hoe vaak een priemfactor
voorkomt (dat wordt de exponent); F geeft de bijbehorende priemfactor.
3 2
1
De oplossing krijgt de vorm: F1E1´F2E2´F3E3´ … bijvoorbeeld 2600 = 2 ´5 ´13 waarbij de
priemfactoren in L1 komen en de exponenten in L2.
While F÷M
While fPart(N/F)=0
E+1üE
N/FüN
End
If E>0
Then
FüL1(S)
EüL2(S)
S+1üS
0üE
ð(N)üM
End
If F=2
Then
3üF
Else
F+2üF
End
End
If Nø1
Then
NüL1(S)
1üL2(S)
End
"F=PRIEMFACTOR"
"N DEELBAAR DOOR F, DAN:"
"EXPONENT OPGEHOOGD"
"NIEUWE WAARDE VAN N"
"PRIEMFACTOR IN L 1 "
"EXPONENT IN L2 "
"VOLGENDE PRIEMFACTOR"
5
4
1
2
Hieruit blijkt dat 2 190 240 ontbonden kan worden als: 2 ´3 ´5 ´13 .
GETALLEN
-6-
OPGAVE
1.
Je kent de aan/uit drukknopjes. Met één keer drukken schakel je uit als hij aan stond, en aan
als hij uit stond. In een lange gang hangen 100 lampen, genummerd van 1 t/m 100. Elke lamp
heeft zo'n aan/uit schakelaar. Aanvankelijk brandt geen van de lampen. In de eerste ronde
(k=1) wordt op alle knopjes gedrukt waardoor de lampen aan gaan. In de tweede ronde (k=2)
wordt alleen op de knopjes met een even rangnummer gedrukt; in de derde ronde op de
knopjes met een rangnummer deelbaar door 3; in de k-de ronde op alle knopjes waarvan het
nummer een k-voud is. Men gaat hiermee door tot en met de 100-ste ronde. Als uit met een 0
en aan met een 1 wordt weergegeven, krijg je dus:
rangnr
begin
ronde 1
ronde 2
ronde 3
ronde 4
ronde 5
Enzovoorts
1
0
1
1
1
1
1
2
0
1
0
0
0
0
3
0
1
1
0
0
0
4
0
1
0
0
1
1
5
0
1
1
1
1
0
6
0
1
0
1
1
1
Peter Winkler behandelt dit probleem in zijn boek Mathematical Puzzles (al gaat het daar over
kluisjes die beurtelings geopend en gesloten worden). De vraag is welke lampjes uiteindelijk
branden. Welke getallen komen door de mazen van deze zeef van Winkler? Wie een
programmaatje AANUIT maakt waaruit het antwoord op de vraag blijkt, krijgt van mij een
zesje. Wie het antwoord zonder programmeren vindt en een passende redenering bedenkt
krijgt een tien. Een aanwijzing: de meeste getallen hebben een even aantal delers.
De priemgetallengenerator
Je onderzoekt of een getal N>2 priem is via:
For(K,3,ð(N),2)
If fPart(N/K)=0: Goto NP
End
"NP= NIET PRIEM"
Dit met de waarschuwing, dat je niet onbeperkt uit een lus mag springen (met Goto NP); na ongeveer
200 keer raakt de interne Goto teller geheel de kluts kwijt en weigert dienst. Dat bezwaar kan alleen
opgeheven worden ten koste van de snelheid, door de for lus open te breken, ongeveer als volgt:
1üK
Lbl D
K+2üK
If fPart(N/K)=0:Goto NP
If K>ð(N):Goto P
Goto D
"K=DELER"
"Niet priem"
"Priem"
Zie de programma's PRIEMTST en PRIEMRIJ.
Eratosthenes, zegt men, zeefde de priemgetallen uit de natuurlijke getallen. Begin met 2 en schrap alle
veelvouden van 2 behalve 2 zelf. Dan hetzelfde
voor 3, enzovoorts. Dat laten we de rekenmachine
doen. Makkelijk zat.
Een probleem is echter dat je voor grote
priemgetallen hiermee niet gemakkelijk uit de
voeten kunt.
GETALLEN
-7-
Het aantal priemgetallen neemt af, verhoudingsgewijs. Met een TI-83 (Silver
Editie) maakte ik een lijst van de eerste 784 priemgetallen: p1 =2, p2 =3, p3 =5,
…, p784=6007. Hieruit las ik dat p100=541, p200=1223, p300=1987,
p400=2741, p500=3571, p600=4409 en p700=5279.
De verschilrij hiervan is: 541, 682, 764, 754, 830, 838, 870.
De priemgetallendichtheid (het aantal priemgetallen per 1000 bijvoorbeeld)
neemt dus geleidelijk af. Het honderdste priemgetal p100=541 hetgeen betekent dat er aan het begin
van de lijst (laten we zeggen tussen de natuurlijke getallen 1 en 1000) gemiddeld ongeveer 1000/5.41
» 185 priemgetallen per 1000 zijn, daarna 1000/6.82 » 147, vervolgens
131, 133, 120, 119 en 115.
De 90 priemgetallen tussen 100 000 en 101 112
hebben een dichtheid van 1000/12.34, ongeveer
81 priemgetallen per 1000. Voor het aantal
priemgetallen tussen 1 en n geldt de
benaderingsformule
p ( n) »
n
.
ln n
De natuurlijke logaritme van n, ln n, is een zeer
traag stijgende functie. Daar is een knop voor.
Kijk maar eens naar de uitkomsten van ln(1000)
en ln(100000000). Bij zulke relatief kleine
getallen als hier gebruikt zijn klopt de formule
nog niet erg: 6000/ln(6000)=690 in plaats van het
gemeten aantal 783. Pas overtuigend wordt dit verband als je heel wat meer Gigabytes en MegaHerz
hanteert. De vraag dringt zich op, of op de zeer lange duur het vóórkomen van priemgetallen zo
zeldzaam wordt, dat het zelfs ophoudt. Komt er een eind aan de rij priemgetallen? Of zijn het er
oneindig veel? Met een kleine redenering is aan te tonen dat er na elk priemgetal (hoe groot ook) altijd
een groter priemgetal te vinden is.
Veronderstel dat N het grootste priemgetal is. Je kunt nu een groter getal M construeren door het
product van de priemgetallen t/m N met één te vermeerderen: M = p1 ´p2 ´p3 ´…´N + 1. Dit getal is
niet deelbaar door p1 , p2 , …,N (want de afstand tussen opvolgende priemgetallen moet minstens twee
zijn, de waarde van het kleinste priemgetal). M kan geen priemgetal zijn (volgens de veronderstelling
dat N het grootste priemgetal is), maar dan zou er tussen N en M nog minstens één priemdeler van M
moeten liggen (groter dan N). Er is dus een groter priemgetal (misschien M zelf wel).
Zo'n soort redenering heet een bewijs uit het ongerijmde.
Grootste Gemene deler
De getallen 440 en 140 hebben gemeenschappelijke delers. Behalve de deler 1 (die deler hebben alle
getallen gemeenschappelijk) zijn dat 2, 4, 5, 10 en 20. De grootste gemeenschappelijke deler (de
GGD) is dus 20. Onder MATH<NUM>9: vind je gcd(440,140)=20 (gcd: Greatest Common Divisor).
Dat de GR het antwoord direct geeft kan ons even niet schelen. Kijk naar de ontbinding van de twee
3
2
getallen: 440=2 .5.11 en 140=2 .5.7. De gemeenschappelijke priemdeler 5 valt direct op, de deler 4 is
de hoogste macht van 2 die in beide getallen
voorkomt. Zodat het antwoord 4.5=20 wel
duidelijk zal zijn.
Als A niet deelbaar is door B, zal na delen een
A
rest C¹0 overblijven: = B¢ + C
B
GETALLEN
-8-
Hierbij moet opgemerkt worden dat B' op de TI-83 beschreven wordt door iPart(A/B), het gehele
deel (niet lettend op een min-teken): iPart(-22/7)= -3. Je kunt in het algemeen schrijven:
A/B=(iPart(A/B)+fPart(A/B)) oftewel A=B*(iPart(A/B)+fPart(A/B))
Als je een eventueel min-teken voor een getal A weglaat, krijg je de absolute waarde van A, genoteerd
als |A|. Een stelling zegt dat GGD(A,B)=GGD(min(A,B), |A-B|). Gebaseerd op deze regel kun je de
GGD gemakkelijk uit (laten) rekenen, mits je over het nodige geduld beschikt. De GGD(84,30)
bijvoorbeeld berekenen we door telkens de GGD te nemen van het kleinste van de twee (30) en het
absolute verschil van de twee (84-30=54): GGD(84,30)=GGD(30,54). Herhaling van dit proces geeft
achtereenvolgens GGD(30,24) = GGD(24,6) = GGD(6,18) = GGD(6,12) = GGD(6,6), waarna
duidelijk is dat de gezochte GGD gelijk is aan 6.
Prompt A,B
While AøB
If A>B
Then
A-BüA
Else
B-AüB
End
End
Disp A
Euclides heeft een razendsnel algoritme ontwikkeld om de GGD van twee getallen A en B te vinden.
Dat gaat ongeveer zo. Deel A door B en bepaal de rest C: B*fPart(A/B)->C. Deel daarna B door C
en bepaal de rest D. Ga hiermee door tot de rest nul is. De voorlaatste rest was de GGD van A en B.
Het bewijs van de juistheid van dit algoritme berust op het volgende inzicht.
Stel A=B'B+R; iedere gemeenschappelijke deler (D) van A en B is ook een gemeenschappelijke deler
van B en van de rest (R). Immers, uit A=PD en B=QD volgt R=A - B'B = PD - B'QD = D(P - B'Q) is
dus ook deelbaar door D. Dus GGD(A,B) = GGD(B,R). Het algoritme van Euclides berust op het net
zolang doorschuiven van de rest tot deze nul is.
Als bijvoorbeeld A=1234 en B=567, dan krijg je de volgende resten:
567*fPart(1234/567)=100;
100*fPart(567/100)=67;
67*fPart(100/67)=33;
33*fPart(67/33)=1 ;
1*fPart(33/1)=0 STOP
De voorlaatste rest is de GGD, dus de GGD(1234,567)=1.
Een opmerking. Omdat fPart een niet-gehele uitkomst berekent (in 10 decimalen benaderd) krijg je
problemen als de rest exact nul moet zijn. Daarom moet je het int of het iPart commando
gebruiken, zoals in het volgende programma gebeurd is. In plaats van B*fPart(A/B)üC dus AB*iPart(A/B)üC
ClrHome
Prompt A,B
Lbl 0
A-B*iPart(A/B)üC
BüA:CüB
Disp A
If Cø0:Goto 0
Disp "GGD(A,B)=",A
Naar het schijnt heeft Sigmund Freud, de beroemde psychiater, geen enkel inzicht gehad in de
ondeelbaarheid van getallen, hoewel het begrip GGD in zijn tijd (rond 1900) al op de lagere school
behandeld werd. In citeer uit het boek Ongecijferdheid van J.A. Poulos:
GETALLEN
-9-
Een van Freuds beste vrienden, Wilhelm Fliess vond de bioritmische analyse uit. Hij wees Freud op
het feit dat de getallen 23 en 28, respectievelijk de cyclusduur van een bepaald mannelijk en
vrouwelijk principe, de speciale eigenschap bezaten dat men elk mogelijk getal kon verkrijgen door 23
keer x plus 28 keer y te nemen. Zo kan men bijvoorbeeld het getal 6 krijgen door x = 10 en y = -8 te
nemen: 23.10 + 28.-8 = 6. Freud was hiervan zo onder de indruk dat hij jarenlang vurig in bioritmen
geloofde en dacht dat hij op zijn eenenvijftigste (51=1.23+1.28) zou sterven (Freud werd 83).
Maar wat is het geval? Deze eigenschap is helemaal niet bijzonder. Hij geldt voor elk tweetal getallen
(zoals 23 en 28) dat een GGD = 1 heeft. Diophantus wist dat al, 1600 jaar geleden. Lees verder.
1.2
Diophantische vergelijkingen
Een Diophantische vergelijking speelt zich af in de verzameling van de gehele getallen. De
coëfficiënten en de variabelen zijn gehele getallen. Een algemene uitdrukking voor een eerstegraads
Diophantische vergelijking is:
a. x + b. y = c met a, b, c, x en y geheel.
Men zegt, dat c een lineaire combinatie is van x en y. De coëfficiënten van x en y zijn respectievelijk a
en b.
De eerstegraads Diophantische vergelijking 2x + y = 3 bijvoorbeeld heeft o.a. de oplossingen:
(0,3), (1,1), (2,-1), (-1,5) , …; de grafiek ervan is een rechte lijn die door (o.a.) deze roosterpunten
gaat. Eigenlijk is de grafiek geen lijn maar een verzameling van "losse" roosterpunten. Roosterpunten
hebben gehele coördinaten.
De lijn 2x + 2y = 3 daarentegen gaat door geen enkel roosterpunt. Een klein verschil met grote
gevolgen. De Diophantische vergelijking 2x + 2y = 3 heeft geen oplossingen; de Diophantische
vergelijking 2x + 2y = 4 echter weer wél: (0,2), (2,0), (1,1), (3,-1) enzovoorts. Hoe zit dat?
De oplosbaarheid en de oplossingen van a x + b y = c hangen af van de GGD van a en b. Nodig en
voldoende voor de oplosbaarheid daarvan is, dat c deelbaar is door de GGD van a en b. Wonderlijk!
De lijn 105 x + 24 y = 30 gaat door oneindig veel roosterpunten;
de lijn 105 x + 24 y = 31 echter gaat door geen enkel roosterpunt.
Door welke roosterpunten gaat de lijn 105 x + 24 y = 30?
Het programma DIOFANT1 geeft antwoord op die vraag. (De 1 uit de naam DIOFANT1 duidt op de
graad van de vergelijking). Het zijn de punten (30 + 8n, -130 - 35n), waarbij n weer een (willekeurig)
geheel getal is. Zo geeft n = -4 de gemakkelijk te controleren oplossing (-2, 10).
Het algoritme van Euclides is gebruikt bij de oplossing van dit probleem. We volgen alle Euclidische
stappen op de voet.
L1
L2
L3
L4
¯
¯
¯
¯
105 =
24 =
4.24+ 9
2.9 + 6
9 =
1.6 + 3
6 =
2.3 + 0
9 = 1.105 + -4.24
6 = 24 - 2.9 = 1.24 - 2(1.105-4.24)
= -2.105 + 9.24
3 = 9 - 6 = 105 -4.24 -(-2.105+9.24)
= 3.105 + -13.24
STOP
De onderstreepte waarden links met de doorgeschoven resten {105, 24, 9, 6} komen in L1; de gehele
delen {4, 2, 1} in L2 en de lineaire combinaties die de geschikte coëfficiënten opleveren in L3 en L4.
GETALLEN
- 10 -
2
2
De stelling van Pythagoras in R2: a + b = c
2
Een Pythagorieel drietal (a,b,c) is een drietal natuurlijke getallen dat voldoet aan:
2
2
2
a + b = c met GGD(a,b,c) = 1
GGD(a,b,c)=1 betekent dat a,b,c de eenvoudigste verhouding hebben. In feite is dit dus een
Diophantische kwadratische vergelijking.
Stelling:
2
2 2
2
2
2 2
De oplossingen van a +b =c worden beschreven door a=x - y , b=2xy, c=x +y
(waarbij x en y natuurlijke getallen zijn met x-y = oneven). Bovendien geldt:
Óf a óf b is even, c is oneven;
Er zijn een paar regels over even (E) en oneven (O) die we hier symbolisch vermelden.
E is van de vorm 2n; O is van de vorm 2n+1 (n geheel)
E+E=E want 2n+2m=2.(n+m)=2k dus even
O+O=E want 2n+1+2m+1=2.(n+m+1)=2k dus even
E+O=O want 2n+2m+1=2.(n+m)+1=2k+1 dus oneven
E.E=E want 2n.2m=2.2nm=2.k is even
O.O=O want (2n+1)(2m+1)=4nm+2n+2m+1=2.(2nm+n+m)+1=2k+1 dus oneven
E.O=E want 2n.(2m+1)=2.(2nm+n)=2k dus even
2
2
O is dus oneven; E is dus even
2
2
2
Kijkend naar a + b = c zijn er drie mogelijkheden:
2
2
2
(1) E + E = E ; deze mogelijkheid vervalt omdat
(a,b,c) een factor 2 gemeen hebben
2
2
2
2
2
2
(2) O + O = E ; oftewel (2n+1) + (2m+1) = (2k)
(n, m, k geheel). Uitwerken geeft:
2
2
2
4.(n +m +n+m) + 2 = 4k , maar dat is onmogelijk
(een viervoud plus 2 kan niet een viervoud zijn), dus
deze mogelijkheid vervalt eveneens. Blijft over:
2
2
2
(3) E + O = O . Dus óf a óf b is even (en c is
oneven).
2
2
x +y
2
2
y -x
2xy
Stel dat a even is (b dus oneven).
2
2
2
Er geldt b = c - a = (c+a).(c-a). De GGD(a,b,c)=1 dus ook GGD(c+a,c-a)=1. Dus hebben (c+a) en
2
(c-a) geen gemeenschappelijke priemdeler. Links [b ] staat een kwadraat, rechts [(c+a)(c-a)] staat een
product van twee factoren die geen priemdeler gemeen hebben. Daaruit volgt dat c+a en c-a beide een
2
2
2 2 2
2 2
2 2
zuiver kwadraat zijn. Noem c+a=x en c-a=y dus b =x Òy . Dan is c=(x +y )/2, a=(x -y )/2 en b=xy;
2 2
2 2
na verdubbeling (halven kunnen we niet gebruiken) komt er: c=x +y , a=x -y en b=2xy.
Even controleren of hiermee aan de stelling van Pythagoras voldaan is:
2
2
2 2 2
2 2
4
2 2 4
2 2
4
2 2 4
2 2 2
a + b = (x -y ) + 4x y = x -2x y +y + 4x y = x +2x y +y = (x +y ) klopt!
In het programma PYTHAGO2, dat systematisch naar Pythagoriële drietallen zoekt, is uitgegaan van
2 2
2
2
A=2XY, B=Y -X en C=X +Y , waarna X in stapjes van 2 oploopt van
1 (als Y even is)
of
2 (als Y oneven is)
tot en met Y-1.
GETALLEN
- 11 -
PYTHAGO2
1üY:0üT
"T=REGELTELLER"
Lbl P
Y+1üY
"Y MET 1 VERHOOGD"
If fPart(Y/2)=0
"ALS Y=EVEN DAN STARTWAARDE S=1"
Then
1üS
Else
"ALS Y=ONEVEN DAN STARTWAARDE S=2"
2üS
End
For(X,S,Y-1,2)
"X VAN S TOT Y-1, STAPGROOTTE 2"
XÜ+YÜüC: YÜ-XÜüB
2XYüA
If gcd(A,B)ø1:Goto Q
"VEREENVOUDIGBAAR DAN OVERSLAAN"
min(A,B)üD
"KLEINSTE VOOROP"
max(A,B)üE
DüA:EüB
T+1üT
If T=9
Then
1üT
Pause
ClrHome
End
Output(T,1,A):Output(T,6,B):Output(T,11,C)
Lbl Q
End
Goto P
2
De stelling van Pythagoras in R3:
2
2
2
a +b +c =d
In een rechthoekig blok met breedte a, lengte b en hoogte c is de
lengte van een lichaamsdiagonaal te berekenen door twee keer
de stelling van Pythagoras te hanteren.
2
2
De gronddiagonaal is Ö(a +b ) en in rechthoekige driehoek
PQR komt er vervolgens voor de lichaamsdiagonaal:
2
2
2
2
2
R
P
2
PR =PQ +QR =(a +b )+c .
Dat is de stelling van Pythagoras in de ruimte R3. In de tekening zie je dat
2 2 2
Ö(2 +2 +1 )=Ö(4+4+1)=Ö9=3
c=1
Q
d=3
Q
a=2
Q
b=2
QQ
Als we uitsluitend naar gehele oplossingen van deze (Diophantische) vergelijking zoeken, is er geen
tijdbesparend trucje mogelijk (zoals in het tweedimensionale geval). En dat is jammer, want er moeten
liefst drie geneste for-lussen doorlopen worden bij het zoeken naar gehele oplossingen. Toch is er nog
wel iets te verbeteren. De lichaamsdiagonaal (d) is namelijk altijd oneven, zodat een stapgrootte 2 bij d
tijdwinst oplevert (die vooral bij grotere getallen merkbaar is).
Stelling.
2
2
2
2
Voor de gehele oplossingen van a +b +c =d (a,b,c zijn natuurlijke getallen met
GGD(a,b,c)=1) geldt dat d oneven is en precies twee van de drie a,b,c even zijn.
We werken weer met de symbolen E voor even en O voor oneven. Er zijn vier mogelijkheden.
E + E + E = E vervalt (namelijk alle termen zijn deelbaar door 2)
O + O + O = O vervalt (4-voud + 3 ¹ 4-voud + 1)
E + O + O = E vervalt (4-voud + 2 ¹ 4-voud)
GETALLEN
- 12 -
Conclusie: E + E + O = O is de enige mogelijkheid.
In het programma hebben we van dit laatste nuttig gebruik gemaakt. We slaan met de waarde van d er
telkens een over: d = 3, 5, 7, …
PYTHAGO3
1üT: 1üD
Output(1,1,"A
B
C
D
")
Lbl 1
D+2üD
"D IS ONEVEN DUS STAP 2"
For(A,1,D-1)
For(B,A,D-1)
For(C,B,D-1)
If AÜ+BÜ+CÜ=DÜ
Then
If gcd(A,gcd(B,gcd(C,D)))ø1:Goto 2
T+1üT
Output(T,1,A)
Output(T,5,B)
Output(T,9,C)
Output(T,13,D)
If T=8
"NIEUWE SCHERMPAGINA"
Then
1üT
Pause :ClrHome
Output(1,1,"A
B
C
D
")
End
End
Lbl 2
End
End
End
Goto 1
2
2
2
2
Kijk naar het plaatje van de TI-83 en verbaas je. Op de bol x +y +z =33 =1089 liggen maar liefst 366
2 2 2
roosterpunten! De bol x +y +z =1090 daarentegen gaat door geen enkel roosterpunt.
Het vermoeden van Fermat
Er zijn dus oneindig veel oplossingen met positieve, gehele drietallen (x, y, z) van de vergelijking
2
2
2
x +y =z .
Je kunt je afvragen, nadat je de stelling van Pythagoras voor gehele getallen hebt doorgrond, in
hoeverre er oplossingen zijn van vergelijkingen als:
3
3
n
n
3
x +y = z
4
4
4
x +y = z
....
en in het algemeen:
n
x +y =z
(met x, y, z en n positieve gehele getallen, n ³ 3).
Dan ben je niet de eerste die zich dat afvraagt. De vraag heeft haar oorsprong in de wiskunde van het
oude Griekenland, tweeduizend jaar voordat Pierre de Fermat (1601-1665) er diepgaand onderzoek
naar verrichtte. Fermat was jurist aan het gerechtshof in Toulouse en in zijn vrije tijd een gedreven en
nauwgezet wiskundige. Hij wordt wel eens de koning van de wiskunde-amateurs genoemd. Zijn
vermoeden was, dat de bovenvermelde vergelijking voor geen enkele n oplossingen had.
GETALLEN
- 13 -
Maar een vermoeden telt niet in de wiskunde. Al bevestig je de juistheid met behulp van computers
voor alle getallen onder de miljard, dan is dat nog steeds geen bewijs. Exactheid wil zeggen dat er
geen speld tussen te krijgen is. Immers, misschien vindt later iemand een oplossing die boven de
miljard ligt.
Maar …
In 1637 schrijft Fermat:
Ik heb een waarlijk spectaculair bewijs van deze stelling gevonden, maar deze marge is te
smal om het te bevatten.
Inmiddels hebben de grootste wiskundige genieën (waaronder Euler) hun tanden stuk gebeten op dit
"laatste" raadsel van Fermat, maar geen sluitend bewijs gevonden. Men gelooft thans dat er toch een
onvolkomenheid in zijn vermeende bewijs heeft gezeten.
Op 25 oktober 1991 kwam er een eind aan tweeduizend jaar onzekerheid. Na acht jaar hartstochtelijke,
hoogst specialistische arbeid publiceerde de Brit Andrew Wiles in een manuscript van meer dan
honderd bladzijden een bewijs dat uiteindelijk de toets der kritiek kon doorstaan. Men zegt dat er in de
hele wereld maar een paar honderd wiskundigen zijn die zijn werk hebben begrepen. Maar het bewijs
staat als een huis. We hoeven dus geen moeite te doen om het laatste raadsel van Fermat op te lossen.
Wat we wel kunnen proberen is, te kijken naar "bijna" oplossingen. Laten we ons beperken tot de
exponent n=3 en kijken naar oplossingen die er maar één naast zitten. Dan is de vraag:
3
3
3
Is de vergelijking x + y = z ± 1 oplosbaar?
Let op. Als er ook maar één oplossing te vinden is (een zogenaamd tegenvoorbeeld) dan kun je met
die oplossing een vermoeden ontzenuwen, een bewijs leveren dus. Met een rekenmachine mogen we
in dit geval dus op zoek gaan naar een bewijs!
Goede tijden slechte tijden …
We nemen ons voor systematisch te zoeken naar oplossingen (x,y,z) van een Diophantische
vergelijking die "heel weinig" afwijkt van de vergelijking van Fermat.
Zijn er oplossingen (zo ja, welke?) van de vergelijking
n
n
n
x + y = z ± M?
We beperken ons eerst tot n=3 en M=1 dus:
3
3
3
3
3
3
x + y = z + 1 en x + y = z - 1
Laten we met de rekenmachine maar eens beginnen met Z lopend van 10 tot en met 25 en X en Y van
het begin af (2) tot en met de lopende waarde van Z.
Als je daarvoor alle getallen X en Y achtereenvolgens van 2 t/m Z gebruikt ziet je programma er uit
als programma A hieronder. Drie geneste for-lussen, dat kost tijd. Kostbare tijd. Dat kun je constateren
door programma A af te draaien. Mijn TI-83 Silver Edition (hoewel twee keer zo snel als een gewone
TI-83) deed er ruim twee minuten over.
Nou zit er symmetrie in de verschillende mogelijkheden: X en Y zijn verwisselbaar (symmetrisch).
3
3
3
3
12 + 15 is bijvoorbeeld hetzelfde als 15 + 12 . Je verliest dus geen informatie (en wat belangrijker
is: geen oplossing) door in de binnenste lus Y niet alle waarden maar alleen die van X t/m Z te laten
doorlopen. Het programma B werkte z'n opdrachten af, voor Z van 10 t/m 25, in iets meer dan één
minuut. Een duidelijke verbetering dus. Maar nog geen goede tijd.
Dan maar even goed nadenken. Is er nog tijdwinst te boeken? Is het een idee om te starten met X en Y
ongeveer even groot, daarna X een stapje groter te maken en Y daarbij aan te passen zodanig, dat Y
vlakbij een mogelijke oplossing blijft?
3
3
3
3
3 1/3
3 1/3
Het eerste betekent dat X +X =2X » Z dus X » (Z /2) , dus starten met X = 1+int((Z /2) );
3
3 1/3
het tweede betekent dat Y = (Z - X ) uitgeprobeerd moet worden. Bij elke combinatie X, Z hoeft
dan maar één Y waarde uitgerekend te worden.
In programma C is dit verwezenlijkt, met een verbluffend resultaat! Het programma is in 5 seconden
klaar. Een goede tijd, 26 keer zo snel als bij de eerste poging.
GETALLEN
- 14 -
programma A:130 sec
programma B: 72 sec
programma C: 5 sec
For(Z,10,25)
For(X,2,Z)
For(Y,2,Z)
For(Z,10,25)
For(X,2,Z)
For(Y,X,Z)
For(Z,10,25)
(.5Z^3)^(1/3)üK
1+int(K) üK
For(X,K,Z-1)
(Z^3-X^3)üQ
round(Q^(1/3),0)üY
abs(Y^3-Q)üE
If E=1: Then . . .
Een overzicht van de doorlopen Z, X en Y waarden:
programma A
programma B
programma C
X
2
2
2
...
3
3
...
3
4
4
...
4
X
2
2
...
2
3
...
3
4
4
...
4
5
X
8
9
9
10
10
11
11
12
12
13
12
...
Y
2
3
4
...
2
3
...
10
2
3
...
10
Z
10
10 *
10 *
10 *
10
10
10 *
10
10
Y
2
3
...
10
3
...
10
4
5
...
10
5
Z
10
10
10
10
10
10
10
10
10
Y
8
6
8
7
9
7
10
8
10
8
12
Z
10
10
11
11
12
12
13
13
14
14
15
De waarden met * zijn verwisselbaar, komen dus twee keer voor.
Het blijkt dat er nogal wat oplossingen bestaan van de "bijna" Fermat vergelijking.
Het programma PSFERMAT (een afkorting van Pseudo Fermat) levert bijvoorbeeld:
4
4
4
36 + 21 = 37 - 64 (een afwijking van 0,003%)
5
5
5
13 + 16 = 17 + 12 (een afwijking van slechts 0,00085%)
Voor n=3 en een afwijking van 1 zijn er veel oplossingen binnen het bereik van de GR.
Robert Schipper (geen wiskundige, maar een amateur als Fermat) schreef me dat hij een algemene
3
3
3
oplossing heeft gevonden voor x + y = z + 1, namelijk
3
4
3
x = 72a +1, y=144a , z=6a(24a +1) (a geheel)
OPGAVEN
2.
3.
3
3
3
De eerste oplossing die het programma PSFERMAT vindt is 6 + 8 = 9 - 1.
Controleer dit met een berekening en bepaal alle volgende oplossingen
met z < 200.
Bewijs dat de oplossing van R. Schipper inderdaad voldoet (voor alle a).
3
3
3
Voor a=1 komt er 73 + 144 = 150 + 1; 3375001 = 3375000 + 1.
Om het maar eens natuurkundig uit te drukken: voor 99,99997% de ontkenning van de stelling van
Fermat. Een voor natuurkundigen volstrekt verwaarloosbaar foutje. Waar hebben die wiskundigen zich
al die eeuwen eigenlijk druk over gemaakt! Sterker nog: er zijn oneindig veel waarden van a die we in
3 3 3
kunnen vullen om zo een bijna perfecte benadering van x +y =z te krijgen. Neem de bescheiden
13
waarde a = 4 en je krijgt een afwijking van 1 op de 5.10 , dat is ongeveer het totale aantal zandkorrels
3 3 3
aan een strand van 1 km lang, 100 m breed en 1 m diep. Op één korrel zand na x +y =z . Wat een
wonderlijke prestatie van het menselijk vernuft, dat "we" (c.q. Andrew Wiles) aangetoond hebben dat
3
3
3
3
3
3
x + y = z nooit kloppend te krijgen is terwijl x + y = z + 1 oneindig vaak klopt.
GETALLEN
- 15 -
PSFERMAT
Input M:ClrHome
For(Z,1,100)
1+int((.5Z^N)^(1/N))üK
For(X,K,Z-1)
(Z^N-X^N)üQ
round(Q^(1/N),0)üY
abs(Y^N-Q)üE
Output(7,1,"X")
Output(7,6,"Y")
Output(7,11,"Z")
Output(8,1,"
Output(8,1,X)
Output(8,6,Y)
Output(8,11,Z)
If abs(E)÷M
Then
Output(1,1,"X=")
Output(1,4,X)
Output(1,14,"N=")
Output(1,16,N)
Output(2,1,"Y=")
Output(2,4,Y)
Output(3,1,"Z=")
Output(3,4,Z)
Output(4,1,"VERSCHIL:")
Output(4,10,E)
Output(5,10,"-----")
Pause :ClrHome
End
End
End
")
Fibonacci en het 3n+1 vermoeden
De rij van Fibonacci 1, 1, 2, 3, 5, 8, 13, 21, … is de moeite van het bestuderen waard.
Na een beetje puzzelen lukt het je vast wel om de volgende term te vinden.
Elke term is namelijk de som van de twee eraan voorafgaande termen:
3 = 1+2, 5 = 2+3, 8 = 3+5 enzovoorts.
Als we term nummer n voorstellen door tn is het verband dus:
tn+2 = tn+1 + tn (t1=1, t2=1)
Kijken we naar de verhouding t n / tn+1 van twee opvolgende termen dan krijg je achtereenvolgens: 1/2,
2/3, 3/5, 5/8, … afgerond 0.5, 0.67, 0.6, 0.625, 0.615, … Met het programma FIBONAC verschijnen de
termen in L1 en de opvolgende verhoudingen op het scherm.
ClrHome:ClrAllLists
1üX:1üY
For(T,1,100)
X+YüZ
YüX
ZüY
YüL1(T)
Output(1,1,X/Y)
End
GETALLEN
- 16 -
De verhouding in deze rij convergeert naar een limietwaarde r = 0,61803398… die de "gouden"
verhouding of gulden snede genoemd wordt. Kijk naar de breedte en hoogte van de rechthoeken
hierboven. De verhouding tussen de breedte en lengte gaat voor grotere rechthoeken steeds meer lijken
op wat men vroeger een ideale verhouding vond. Elke rechthoek met hoogte h wordt op een vierkant
met zijde h geplaatst en levert zo de volgende rechthoek.
Wie over de abc formule beschikt (de oplossing van kwadratische vergelijkingen) kan r exact
uitrekenen. Stel dat de hoogte van zo'n ideale rechthoek r is en de breedte 1, dan moet de verhouding
constant blijven, dus:
r
1
-1± 1+ 4
2
r : 1 = 1 : (1+r) oftewel =
zodat r + r - 1 = 0. En nu: r1, 2 =
; het minteken
1 1+ r
2
kunnen we niet gebruiken omdat r positief moet zijn. Dus r = 1 2 ( -1 + 5 ) » 0,618034
De Fibonaccigetallen 2, 3, 5, 8, 13 enzovoorts en de erbij behorende limiet r spelen een rol bij het
3n+1 raadsel.
In het midden van de vorige eeuw kwam een ogenschijnlijk onnozel spelletje onder de aandacht van
de wiskundigen. Begin met een willekeurig, geheel getal n groter dan 2 en pas het volgende
voorschrift steeds maar weer toe tot n =1 geworden is.
Als n even is halveer je n; als n oneven is ga je over op 3n+1.
Startend met bijvoorbeeld n=3 komt er: 3 ® 10 ® 5 ® 16 ® 8 ® 4 ® 2 ® 1 STOP.
[ Doorgaan heeft geen zin omdat je in een cirkel zit: 1 ® 4 ® 2 ® 1.]
Daar is gemakkelijk een programma bij te maken (N3PLUS1), dat we aan de lezer overlaten.
16
Men heeft geconstateerd dat je voor alle startwaarden n kleiner dan 3.10 op 1 uitkomt. Het
vermoeden rijst, dat je altijd op 1 uitkomt. Maar een vermoeden is nog geen bewijs en dat maakt het
spelletje interessant. Tot op heden is er zelfs nog geen begin van een theorie die tot een bewijs zou
kunnen leiden. Soms kan het erg lang duren voor we het eindpunt bereiken. Met onze GR ontstaat een
lange rij bijvoorbeeld al met n = 27, waar 111 stappen nodig zijn. Rekenend met supercomputers heeft
men bij het getal 100759293214567 gevonden dat het einde pas na 1820 stappen komt.
k
Startgetallen van de vorm 2 - 1 (3, 7, 15, 31, 63, 127, …) beginnen met een aantal keren
verdrievoudiging en worden steeds maar groter, tot uiteindelijk de halvering toeslaat en het eindpunt 1
toch wel degelijk, zij het moeizaam, bereikt wordt. Versnellend daarbij werkt het feit dat voor oneven
waarden van n, 3n+1 altijd even is en dus daarna door 2 gedeeld wordt. Bij de drietallen van
Pythagoras gebruikten we de letters E en O voor even en oneven. In deze symbolentaal: 3n+1 is type
3×O+1 = O+O=E; dus na 3n+1 komt altijd ½(3n+1).
Hierachter een paar plaatjes met n in L1 en het aantal nodige stappen in L2. De zeven stappen bij n=3
zijn al vertoond; de 2 stappen bij n=4 zijn 4 ® 2 ® 1; vanuit 5 gaat het verder met 16 ® 8 ® 4 ® 2
® 1, dat zijn 5 stappen; enzovoorts.
Twee dingen vallen op. Allereerst de grote verscheidenheid en springerigheid. In het gebied van
n=122 t/m n= 128 ben je soms (bij n=128) al na 7 stappen klaar, maar vlak daarvoor (bij n=124, 125,
126) kost het maar liefst 108 stappen.
GETALLEN
- 17 -
Dit laatste groepje van drie "even trage" n-waarden is hoogst merkwaardig. Precies hetzelfde aantal
stappen! Bij n=124 en n=125 zie je de kettingreactie al op de derde stap (vanaf 94) gelijk oplopen.
Maar bij n=126 leidt een heel andere weg naar Rome. Pas na de dertiende stap (vanaf 364) zit deze op
hetzelfde spoor. Het eerste treffen is te begrijpen: via EEOE of via OEEE, van n via ½n en ¼n naar
0,75n+1 respectievelijk van n+1 via 3(n+1)+1 en ½(3n+4) en ¼(3n+4) naar (ook) 0,75n+1 klopt; maar
het tweede treffen (na EOEOEOEOEOEOEE) lijkt volstrekt toevallig. Zie de drie plaatjes hierna.
Zulke clusters van "trage" getallen komen opvallend vaak voor. Het volgende cluster ligt bij n=130
t/m n=134, waar het stappenpatroon betrekkelijk snel naar 1 gaat (in 28 stappen namelijk). We zullen
ons niet wagen aan een tot mislukken gedoemde poging tot bewijsvoering. Maar de drang om toch iets
te begrijpen van dit wonderlijke spelletje is groot. Voor de hand ligt een op de kansrekening
gebaseerde redenering met verwachtingswaarden. Weliswaar is hier strikt genomen geen sprake van
aselect (random) gekozen getallen, maar voor een gewoon mens heeft het daar wel erg veel van weg.
Populair gezegd wordt de verwachtingswaarde berekend door elk waarnemingsgetal met "z'n" kans te
vermenigvuldigen en al deze producten op te tellen. Daar gaan we.
Is het startgetal n even (de kans daarop is ½) dan krijg je ½n,
is het startgetal n oneven (eveneens kans ½) dan komt er 3n+1.
De verwachting na één stap is dus
½.½n + ½.(3n+1) = 0,25n + 1,5n + 0,5 = 1,75n + 0,5.
Bij een verwachtingswaarde moet je denken aan de gemiddelde uitkomst bij een zeer groot aantal
"experimenten". Controle op de geloofwaardigheid van deze redenering kan verricht worden met
behulp van een programmaatje dat voor de 100 opvolgende getallen 9900 t/m 9999 de verhouding
voor en na één stap opslaat in L3(1) t/m L3(100). Het gemiddelde Ë van L3 wordt uitgerekend met
1-VarStats.
De aldus gevonden waarde 1.750050252 komt erg goed overeen met de op basis van
toevalsprocessen verwachte uitkomst 1,75n + 0,5; nemen we voor n het gemiddelde startgetal (9950 of
1,75 . 9949,5 + 0,5
= 1,750050254
eigenlijk 9949,5) dan is de voorspelling
9949,5
Nou kunnen we wel blij zijn met deze prachtige voorspelling, maar in feite is het raadsel alleen maar
groter geworden! Gemiddeld genomen en voor grote getallen wordt een getal opgevolgd door een
ongeveer 1,75 keer zo groot getal. Dat zou een letterlijk exponentiële stijging betekenen in plaats van
een krimp naar het eindgetal 1. Maar de praktijk is natuurlijk minder simpel. Elk oneven getal
namelijk wordt onverbiddelijk gehalveerd.
In plaats van het model na één stap
E: dan ½n met verwachting ½n.½ = ¼n
O: dan 3n+1 met verwachting (3n+1).½ ; totale verwachting 1,75n + 0,5
moet een model voor anderhalve stap
E: ½n met verwachting ½n.½ = ¼n
OE: ½.(3n+1) met verwachting ½.(3n+1).½ ; totale verwachting 1.n + 0,25
gehanteerd worden.
Met verwaarlozing van de onbelangrijke term 0,25 betekent dit dat gemiddeld en op de lange duur een
getal gelijk is aan zijn opvolger (of ietsje groter zelfs).
GETALLEN
- 18 -
Ook nu klopt het experiment (Ë = 1.000025126) met de voorspelling (1,000025127). Maar het
raadsel blijft.
Verder onderzoek in deze richting blijkt ons aanvankelijk niet verder te helpen. De mogelijkheid OO
vervalt. Na twee hele stappen EE, EO, OE vinden we een verwachte verhouding van 19/16 (als we de
rest ½ verwaarlozen) dat gaat aardig richting 1, maar …
Na drie hele stappen EEE, EEO, EOE, OEE, OEO is de voorspelde verhouding juist weer de
verkeerde kant op: 103/64. En daarna blijft voor hele stappen de verwachting rond de 1,45
schommelen. Kijkend naar de extra halve stap OE (na O komt altijd E) vinden we voor tweeënhalve
stap de verwachting 1.n + 3/8; de coëfficiënt van n blijft steeds 1, met een extra halve stap.
OPGAVE
4.
Controleer of de verwachte groeiverhoudingen na 2, 2½ en 3 stappen (respectievelijk 19/16,
1 en 103/64) goed berekend zijn. De schrijver van dit boek is menselijk …
Probleem! Hoe kan (vermoedelijk) elk getal uiteindelijk op 1 uitkomen terwijl gemiddeld genomen de
verwachting is dat de getallen ongeveer gelijk blijven of zelfs iets stijgen? Laten we het programma
N3PLUS1 er nog maar eens bij halen en voor een honderdtal grote getallen het gemiddeld aantal
stappen uitrekenen. Dat doen we met STAT<CALC> en 1-VarStats. Voor de groep n=9900 t/m 9999
vinden we 93 voor het gemiddeld aantal stappen; voor de groep n=513 t/m 612 is het gemiddeld aantal
93
stappen 61. In het eerste geval is de gemiddelde "groeifactor" g te berekenen uit 1/9950 = g met als
61
oplossing g=0,906; in het tweede geval doe je dat met 1/563 = g met g=0,901. Deze uitkomsten
wijzen er op dat in de praktijk gemiddeld en op de zeer lange duur een getal gevolgd wordt door een
getal dat ongeveer 10% kleiner is.
Kunnen we dat verklaren (niet bewijzen)? Als je de verschillende mogelijkheden met E en O op een
rijtje zet, valt op dat er na een stap meer E's dan O's zijn. De kans op even en oneven is dus niet ½:
kijk maar naar het aantal E's en O's in de laatste stap.
Eén stap:
E
O
E
Twee stappen: EE
EO
OE
stap 3
O
Drie stappen: EEE
EEO
EOE
OEE
OEO
E
E
stap 2
E
E
Vier stappen: E EEE
E EEO
E EOE
E OEE
E OEO
O EEE
O EEO
O EOE
stap 1
E
O
Enzovoorts.
Laten we de kans op even p(E) aangeven met de letter p. Dan is p(O) = 1- p.
GETALLEN
O
- 19 -
O
In het anderhalf-stapsmodel kunnen we nu de verwachting beschrijven met
E: ½n.p
plus
OE: ½(3n+1).(1-p)
groei per stap dus ½n.p + 1½.n+½-1½.np-½p = ½.(3-2p)n - ½p » ½.(3-2p)n (*)
Voor de bepaling van p kijken we naar de eerste (of laatste) kolom hierboven en merken op dat,
aangezien de mogelijkheid OO vervalt, het aantal E's in de eerste kolom in het vierstaps model gelijk
is aan het totaal aantal E's en O's in het driestaps model, maar dat is weer gelijk aan het aantal
mogelijkheden in het tweestaps model. Dat doet denken aan het plaatje bij de rij van Fibonacci, waar
telkens een rechthoek werd gestapeld op een vierkant. Zie de vetgedrukte blokjes van letters. De
rechthoek van 2 bij 3 wordt gestapeld op het vierkant van 3 bij 3 en wordt de rechthoek van 5 bij 3. De
aantallen E's en O's in de eerste kolom, de startgetallen dus, volgen keurig netjes de rij van Fibonacci:
(1, 1) (2, 1) (3, 2) (5, 3) (8,5) . . .
Aangezien we weten volgens welke verhouding deze aantallen op den duur gaan optreden, is daarmee
duidelijk geworden hoe groot de kans p is op een even getal. Die kans wordt gegeven door het
verhoudingsgetal van Fibonacci: p » 0,618.
In de formule (*) vullen we deze benadering in voor p en er komt ongeveer 0,882n uit. We noemen de
coëfficiënt 0,882 de gemiddelde (of verwachte) groeifactor, te vinden door p = ½ (-1+Ö5) in te vullen:
½.(3-2.½(-1+Ö5)) = 2-½Ö5; zie het vervolg.
De verwachting is dus dat de getallen op den duur gemiddeld ongeveer 12% kleiner worden na elke
tussenstap. Waarmee we dicht bij een bevredigende verklaring van het 3n+1 raadsel gekomen zijn. De
verwachte gemiddelde groeifactor 2-½Ö5 » 0,881966 kwam er prachtig uitrollen, toen ik naar de
virtuele TI-83 greep (die op mijn modale PC ongeveer 12 keer zo snel rekent als de TI83 SE) en het
volgende programmaatje intypte. Na een kwartiertje stabiliseerde de groeifactor zich rond de 0,882.
ClrHome
0üT:0üG:0üU
Input "STARTGTAL?",N
Lbl 0
NüM
Lbl 1
U+1üU
If fPart(M/2)=0
Then: M/2üM
Else: 3M+1üM
End
If Mø1:Goto 1
G+(1/N)^(1/U)üG
"G=GROEIFACTOR"
T+1üT:Disp G/T
N+1üN:0üU:Goto 0
Een nieuw probleem duikt op, als we starten met een veel grotere waarde van n.
Het startgetal 1 miljoen leverde na 10 uur rekenen met de virtual TI-83 een
groeifactor die tot rust kwam in de buurt van 0,890638, dat is 1% hoger dan
voorspeld was (0,881966). Hoe groter de startwaarde, des te hoger de
groeifactor. En bij lagere startwaarden is het net zo: tussen n=10 en n=300 loopt
de groeifactor g op van ongeveer 0,75 naar 0,84. Waar kan dat aan liggen?
GETALLEN
- 20 -
n
10
100
1000
1000000
g
0,75
0,80
0,88
0,89
Het lijkt erop dat p gemiddeld langzaam naar zijn limietwaarde r»0,618 groeit. Dat wordt duidelijk
met een programmaatje dat het voortschrijdende gemiddelde van die verhouding
t
t1 t2
+ + ... + n
t
t
tn +1
pn = 2 3
n
uitrekent: 0,5 ; 0,583 ; 0,589 ; 0,598 ; enzovoorts, waaruit blijkt dat na de eerste 10 termen pn pas
boven 0,61 komt en na 100 stappen nog "slechts" op de waarde 0,6172 zit.
OPGAVEN
5.
Toon aan dat het verband tussen het gemiddeld aantal stappen s en de startwaarde n
beschreven kan worden door
s » 20 × 10 log n (neem p=0,61).
6.
(a) Ontbind de getallen 100 000, 100 001, 100 002 en 100 003 in priemfactoren.
(b) Zelfde vraag voor de getallen 2´3´5´7´11´13´17´19 ± 1
7.
Onderzoek voor welke natuurlijke waarden van n £ 41 de uitdrukking
2
n - n + 41 een priemgetal oplevert.
8.
Het vermoeden van Goldbach (1690-1764) luidt, dat elk even getal (³ 4) op minstens één
manier te schrijven is als som van twee priemgetallen. Een bewijs daarvoor is nimmer
gevonden. Ermee verwant is het vermoeden dat elk oneven getal (³5) als de som van
hoogstens drie priemgetallen (5=2+3; 7=2+2+3=2+5) kan worden geschreven.
Kan elk oneven getal (³5) als de som van hoogstens drie verschillende priemgetallen
beschreven worden? Formuleer je eigen vermoeden.
9.
Er is precies één roosterpunt in het eerste kwadrant (met positieve, gehele
coördinaten) dat op de lijn 23x + 29y = 792 ligt. Welk punt is dat? Gebruik DIOFANT1.
10.
Bij de drietallen van Pythagoras: a + b = c . Als c-b=1 is geldt: a = 2c-1
Zo vind je (3,4,5), (5,12,13), (7,24,25) enz. Bewijs dit verband.
2
Bewijs ook, uitgaande van c-b=2, dat a = 4(c-1). Hieruit vind je o.a.
(8,15,17) en (12,35,37).
GETALLEN
2
2
2
- 21 -
2
ANTWOORDEN
1.
AANUIT
ClrHome
ClrAllLists
Prompt N
ClrHome
Nüdim(L1)
For(D,1,N)
For(K,D,N,D)
K-L1(K)üL1(K)
End:End
For(I,1,N)
If L1(I)ø0:Disp L1(I)
End
Het aantal keren drukken is gelijk aan het aantal delers van een rangnummer. Als een lampje
op het eind aan geschakeld is moet er een oneven aantal keren gedrukt zijn. Waaruit volgt dat
het rangnummer een paar gelijke delers had. Zo krijgen we een rij met kwadraten.
2.
3
3
3
9 + 10 = 12 + 1
3
3
3
64 + 94 = 103 + 1
3
3
3
71 +138 = 144 - 1
3
3
3
73 + 144 = 150 + 1
3
3
3
135 + 138 = 172 - 1
3
3
2
2
3
3.
Gebruik makend van (p + q) = p + 3p q + 3pq + q komt er:
3 9
2 6
3
3 12
3
3
72 a + 3.72 a + 3.72a + 1 + 144 a = {6a(24a +1)} + 1
???
3
9
6
3
wegdelen van 216a geeft links en rechts dezelfde coëfficiënten: 4608a + 1728a + 72a + 1
5.
(1/n)^(1/s) » 0,89 geeft 1/s log 1/n » log 0,89 » -0,05
6.
100000 = 2 ´5
2´3´5´76´11´13´17´19 + 1 = 347 ´ 27953
100001 = 11´9091
2´3´5´76´11´13´17´19 - 1 = 53´197´929
100002 = 2´3´7´2381
100003 = 100003 (priem!)
7.
5
5
Voor alle gehele n £ 40 is het priem; voor n = 41 is het voor het eerst niet priem
8.
Oneven getallen vanaf 19 kunnen als de som van 2 of 3 priemgetallen geschreven worden.
Vermoedelijk!
9.
x = -3960 + n´29; y = 3168 - n´23. Voor n=137 krijg je het punt (13,17)
10.
a = c - b = (c+b)(c-b) = (c+b).1 met b=c-1 geeft a = 2c-1
2
2
2
2
a = c - b = (c+b).2 met b = c-2 geeft a = 4(c-1)
2
GETALLEN
2
2
2
- 22 -
Download