{"id":1878,"date":"2023-07-04T07:57:01","date_gmt":"2023-07-04T06:57:01","guid":{"rendered":"https:\/\/wiskunst.nl\/?page_id=1878"},"modified":"2024-07-26T16:44:23","modified_gmt":"2024-07-26T15:44:23","slug":"onopgeloste-problemen","status":"publish","type":"page","link":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/","title":{"rendered":"Onopgeloste problemen"},"content":{"rendered":"<p><strong><span class=\"collapseomatic \" id=\"id69d789ffbad5d\"  tabindex=\"0\" title=\"Inhoud\"    >Inhoud<\/span><div id=\"target-id69d789ffbad5d\" class=\"collapseomatic_content \"><\/strong><\/p>\n<ul>\n<li><a href=\"#inleiding\">Inleiding<\/a><\/li>\n<li><a href=\"#priemtweelingen\">Priemtweelingen<\/a><\/li>\n<li><a href=\"#volmaakt\">Volmaakte getallen<\/a><\/li>\n<li><a href=\"#ppc\">Parker Product Chains<\/a><\/li>\n<li><a href=\"#collatz\">Vermoeden van Collatz<\/a><\/li>\n<li><a href=\"#aliquots\">Aliquots<\/a><\/div><\/li>\n<\/ul>\n<h3><a id=\"inleiding\"><\/a>Inleiding<\/h3>\n<p>Deze pagina gaat over onopgeloste problemen in de wiskunde die eenvoudig zijn te formuleren zodat een kind, bij wijze van spreken, begrijpt waarover het gaat maar waar de wiskunde tot op heden geen oplossing voor heeft kunnen geven.<\/p>\n<p>We gaan dus niet in op problemen zoals de Riemann hypothese.<\/p>\n<p>Is het belangrijk dat deze, of soortgelijke, problemen worden opgelost?<br \/>\nNee en ja.<br \/>\nNee, omdat het geen belangwekkende problemen voor de wiskunde zijn.<br \/>\nJa, omdat de manier van oplossen nieuwe inzichten kan verschaffen voor het oplossen van wel belanghebbende problemen in de wiskunde die dan ook weer gevolgen kunnen hebben voor andere wetenschappen.<\/p>\n<p>Wanneer u beroemd wil worden, los dan \u00e9\u00e9n van deze problemen op!<\/p>\n<h3><a id=\"priemtweelingen\"><\/a>Priemtweelingen<\/h3>\n<p>Er zijn oneindig veel priemgetallen. Dat is al eeuwen geleden bewezen\u00a0 (zie <a href=\"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/oude-artikelen\/bewijzen\/\">Bewijzen<\/a>) en er zijn meer bewijzen voor deze stelling.<\/p>\n<p>Laten we eens kijken naar het begin van de rij priemgetallen:<\/p>\n<p>2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199<\/p>\n<p>Als we kijken naar de onderlinge verschillen tussen twee opeenvolgende priemgetallen dan valt op dat er veel paren zijn met een onderling verschil van 2:<\/p>\n<p>3 en 5, 5 en 7, 11 en 13, 17 en 19, 29 en 31, 41 en 43, 59 en 61, 71 en 73, 101 en 103, 107 en 109, 137 en 139, 149 en 151, 179 en 181, 191 en 193, 197 en 199, &#8230;<\/p>\n<p>Deze paren heten priemtweelingen, ofwel een priemtweeling is een tweetal opeenvolgende priemgetallen met onderling verschil van 2.<\/p>\n<p>Hoe ver men ook in de rij (opeenvolgende) priemgetallen heeft gekeken, overal komen ze voor.<\/p>\n<h5>Onopgelost: Zijn er oneindig veel priemtweelingen?<\/h5>\n<h3><a id=\"volmaakt\"><\/a>Volmaakte getallen<\/h3>\n<p><span style=\"font-size: 14pt;\"><em>[<strong>Excuses!<\/strong> Dit is een aangepaste tekst omdat er in de vorige editie (ernstige) fouten waren geslopen.]<\/em><\/span><\/p>\n<p>Een volmaakt getal, ook wel perfect getal genoemd, is een getal dat je kunt schrijven als de som van de &#8220;echte&#8221; delers van dat getal. Onder de echte delers van een getal wordt verstaan: Alle delers behalve het getal zelf (zie ook <a href=\"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/oude-artikelen\/getal-eigenschappen\/\">Getal-eigenschappen<\/a>).<\/p>\n<p>Dit verhaal gaat over <strong>even<\/strong> volmaakte getallen!<\/p>\n<p>Zo is 6 bijvoorbeeld een volmaakt getal, want de echte delers van 6 zijn 1, 2 en 3 en 1 + 2 + 3 = 6. Dit is ook het kleinste volmaakte getal.<\/p>\n<p>Het volgende getal is 28 = 1 + 2 + 4 + 7 + 14 en 1, 2, 4, 7 en 14 zijn de echte delers van 28.<\/p>\n<p>De volgende is 496 = 1\u00a0+\u00a02\u00a0+\u00a04\u00a0+\u00a08\u00a0+\u00a016\u00a0+\u00a031\u00a0+\u00a062\u00a0+\u00a0124 + 248.<\/p>\n<p>Daarna komt 8128 = 1\u00a0+\u00a02\u00a0+\u00a04\u00a0+\u00a08\u00a0+\u00a016\u00a0+\u00a032\u00a0+\u00a064\u00a0+\u00a0127 + 254 + 508 + 1016 + 2032 + 4064.<\/p>\n<p>Volmaakte getallen worden dus, kennelijk, snel groter en dat is ook zo.<\/p>\n<p>Het 5<sup>e<\/sup> volmaakte getal is namelijk 33.550.336.<\/p>\n<p>Er is echter een mooie formule om volmaakte getallen te genereren:<\/p>\n<p>Als een priemgetal geschreven kan worden als 2<sup>n<\/sup> &#8211; 1 dan heet zo&#8217;n priemgetal een Mersenne-priemgetal, vernoemd naar de Franse priester en wiskundige Marin Mersenne (16<sup>e<\/sup> \/ 17<sup>e<\/sup> eeuw).<\/p>\n<p>Als 2<sup>n<\/sup> &#8211; 1 een Mersenne-priemgetal is, dan is n (de exponent) ook een priemgetal.<\/p>\n<p>Mersenne-priemgetallen worden aangegeven als M<sub>p<\/sub>, waarbij p de exponent is (en p is dus priem).<\/p>\n<p>Laten we eens kijken naar de ontbindingen van de, tot nog toe in dit artikel, gevonden volmaakte getallen:<\/p>\n<p>6 = 2<sup>1<\/sup> \u00d7 (<strong>2<sup>2 <\/sup>&#8211; 1<\/strong>) = 2<sup>1<\/sup> \u00d7 <strong>M<sub>2<\/sub><\/strong>,<br \/>\n28 = 2<sup>2<\/sup> \u00d7 (<strong>2<sup>3 <\/sup>&#8211; 1<\/strong>) = 2<sup>2<\/sup> \u00d7 <strong>M<sub>3<\/sub><\/strong>,<br \/>\n496 = 2<sup>4<\/sup> \u00d7 (<strong>2<sup>5 <\/sup>&#8211; 1<\/strong>) = 2<sup>4<\/sup> \u00d7 <strong>M<sub>5<\/sub><\/strong>,<br \/>\n8128 = 2<sup>6<\/sup> \u00d7 (<strong>2<sup>7 <\/sup>&#8211; 1<\/strong>) = 2<sup>6<\/sup> \u00d7 <strong>M<sub>7<\/sub><\/strong>,<br \/>\n33.550.336 = 2<sup>12<\/sup> \u00d7 (<strong>2<sup>13 <\/sup>&#8211; 1<\/strong>) = 2<sup>12<\/sup> \u00d7 <strong>M<sub>13<\/sub><\/strong><\/p>\n<p>De factoren tussen haakjes zijn allemaal Mersenne-priemgetallen.<\/p>\n<p>Merk op dat M<sub>11<\/sub> = 2047 geen priemgetal is (2047 = 23 \u00d7 89).<\/p>\n<p>De formule voor een volmaakt getal is:<\/p>\n<p><strong>Als (2<sup>p <\/sup>&#8211; 1) priem is dan is 2<sup>p-1<\/sup> \u00d7 (2<sup>p <\/sup>&#8211; 1) een volmaakt getal.<\/strong><\/p>\n<p>Het volgende priemgetal is 17 en 2<sup>17<\/sup>-1 is priem dus 2<sup>16<\/sup>\u00a0\u00d7 (2<sup>17<\/sup> &#8211; 1) = 8.589.869.056 is het volgende (6e) volmaakte getal.<\/p>\n<p>Het is wiskundig bewezen dat ieder even volmaakt getal volgens bovenstaande formule te maken is (en vice versa, dus ieder even volmaakt getal is van de vorm 2<sup>n-1<\/sup> \u00d7 (2<sup>n <\/sup>&#8211; 1) waarbij 2<sup>n<\/sup> &#8211; 1\u00a0 een priemgetal is).<\/p>\n<p><em><span class=\"collapseomatic \" id=\"id69d789ffbaddc\"  tabindex=\"0\" title=\"Bewijs\"    >Bewijs<\/span><div id=\"target-id69d789ffbaddc\" class=\"collapseomatic_content \"><\/em><\/p>\n<p>Alvorens we naar het generieke bewijs gaan kijken gaan we eerst 496 (3e perfecte getal) &#8220;ontleden&#8221;, want dit geeft een concreet beeld van hoe het bewijs eruit gaat zien.<\/p>\n<p>496 = 1 + 2 +4 + 8 + 16 + 31 + 62 + 124 + 248 (dit zijn de &#8220;echte&#8221; delers van 496).<\/p>\n<p>Omdat we zo meteen 31 buiten haakjes gaan halen voeg ik eerst 496 zelf toe aan de som. We krijgen dan dus <strong>2<\/strong> maal het perfecte getal 496:<\/p>\n<p>2 \u00d7 496 = 1 + 2 +4 + 8 + 16 + 31 + 62 + 124 + 248 + 496 =<br \/>\n(1 + 2 + 4 + 8 + 16) + 31(1 + 2 + 4 + 8 + 16) =<br \/>\n(1 + 31)(1 + 2 + 4 + 8 + 16) =<br \/>\n32 \u00d7 31 = 2<sup>5<\/sup> \u00d7 (2<sup>5<\/sup> &#8211; 1).<\/p>\n<p>Bedenk wel dat dit laatste resultaat dus 2 keer 496 is, dus<\/p>\n<p>2 \u00d7 496 = 2<sup>5<\/sup> \u00d7 (2<sup>5<\/sup> &#8211; 1).<\/p>\n<p>Maar dat betekent dus dat 496 = 2<sup>4<\/sup> \u00d7 (2<sup>5<\/sup> &#8211; 1), precies volgens de formule!<\/p>\n<p>We gaan nu kijken naar de som der delers van 2<sup>n-1<\/sup> \u00d7 (2<sup>n <\/sup>&#8211; 1) waarbij 2<sup>n-1<\/sup> een priemgetal is.<\/p>\n<p>De delers van een 2<sup>e<\/sup> macht zijn niets anders dan de getallen 2<sup>n<\/sup>, waarbij n loopt van 0 naar de exponent.<\/p>\n<p>We krijgen dus:<\/p>\n<p>(1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>)(2<sup>n<\/sup> &#8211; 1) =<br \/>\n(2<sup>n<\/sup> &#8211; 1) + 2<sup>1<\/sup>(2<sup>n<\/sup> &#8211; 1) + 2<sup>2<\/sup>(2<sup>n<\/sup> &#8211; 1) + 2<sup>3<\/sup>(2<sup>n<\/sup> &#8211; 1) + &#8230; + 2<sup>n-2<\/sup>(2<sup>n<\/sup> &#8211; 1) + 2<sup>n-1<\/sup>(2<sup>n<\/sup> &#8211; 1).<\/p>\n<p><strong>Merk op dat het laatste getal [2<sup>n-1<\/sup>(2<sup>n<\/sup> &#8211; 1)] het getal zelf is; dit is dus de dubbele som!<\/strong><\/p>\n<p>We gaan verder:<\/p>\n<p>= (1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>) + (2<sup>n<\/sup>-1)(1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>) =<br \/>\n(2<sup>n<\/sup>-1+1)(1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>) =<br \/>\n2<sup>n<\/sup>(1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>).<\/p>\n<p>Stel nu T = 1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>, dan is<br \/>\n2T = 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup> + 2<sup>n<\/sup>.<\/p>\n<p>En als we deze twee netjes onder elkaar zetten dan kunnen we ze van elkaar aftrekken:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">2T\u00a0 \u00a0 \u00a0= 0 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup> + 2<sup>n<\/sup><\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">\u00a0T\u00a0 \u00a0 \u00a0= 1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1\u00a0<\/sup>+ 0<br \/>\n<\/span>\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af<span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\"> -\/-<br \/>\n<\/span><span style=\"font-family: 'courier new', courier, monospace; font-size: 12pt;\">2T &#8211; T = -1 + 2<sup>n<\/sup> = 2<sup>n<\/sup>-1<\/span><\/p>\n<p>We hebben dus 2T &#8211; T = T = 2<sup>n<\/sup> &#8211; 1.<\/p>\n<p>Dus<\/p>\n<p>2<sup>n<\/sup>(1 + 2<sup>1<\/sup> + 2<sup>2<\/sup> + 2<sup>3<\/sup> + &#8230; + 2<sup>n-2<\/sup> + 2<sup>n-1<\/sup>) =<br \/>\n2<sup>n<\/sup>.T = 2<sup>n<\/sup>(2<sup>n<\/sup>-1).<\/p>\n<p>En tot slot moeten we ons bedenken dat we met een <strong>dubbele som<\/strong> te maken hebben waardoor we het laatste getal [2<sup>n<\/sup>(2<sup>n<\/sup>-1)] door 2 moeten delen en er <strong>2<sup>n-1<\/sup>(2<sup>n<\/sup>-1)<\/strong> over blijft!<\/div>\n<p>Alle, tot nog toe gevonden volmaakte getallen zijn even. En dat leidt tot de vraag:<\/p>\n<h5>Onopgelost: Zijn er oneven volmaakte getallen?<br \/>\n<span style=\"font-size: 12pt;\">(als ze er zijn dan zijn ze groter dan 10<sup>1500<\/sup>)<\/span><\/h5>\n<h3><a id=\"ppc\"><\/a>Parker Product Chains<\/h3>\n<p>Dit probleem kwam ik tegen op <a href=\"https:\/\/www.youtube.com\/@numberphile\" target=\"_blank\" rel=\"noopener\">Numberphile<\/a> in een artikel van <a href=\"https:\/\/www.youtube.com\/@standupmaths\" target=\"_blank\" rel=\"noopener\">Matt Parker<\/a>. Omdat het niet echt een naam had heb ik dit zelf &#8220;<a href=\"https:\/\/www.youtube.com\/watch?v=Wim9WJeDTHQ&amp;ab_channel=Numberphile\" target=\"_blank\" rel=\"noopener\">Parker Product Chains<\/a>&#8221; genoemd.<\/p>\n<p>Het gaat als volgt:<\/p>\n<ol>\n<li>Neem een (natuurlijk) getal;<\/li>\n<li>Bepaal het product van de cijfers van dat getal;<\/li>\n<li>Herhaal stap 2 met dit nieuwe product totdat er een getal van \u00e9\u00e9n cijfer over blijft.<\/li>\n<\/ol>\n<p>Je krijgt zo een ketting van getallen.<\/p>\n<p>Alle getallen van 0 t\/m 9 hebben een kettinglengte van 0 (triviaal).<\/p>\n<p>Het getal 10 (t\/m 24) heeft een kettinglengte van 1. Het getal 10 is ook het eerste (kleinste) getal met een kettinglengte van 1: 10 \u2192 0 (=1 \u00d7 0).<\/p>\n<p>Voor de rest van dit verhaal zoeken we steeds het kleinste getal met een bepaalde kettinglengte.<\/p>\n<p>Het getal 25 is het kleinste getal met een kettinglengte van 2 (10 \u2192 0).<\/p>\n<p>Het getal 39 is het kleinste getal met een kettinglengte van 3 (27 \u2192 14 \u2192 4).<\/p>\n<p>Zie verder onderstaande tabel:<\/p>\n<table style=\"width: 100%; border-collapse: collapse;\">\n<tbody>\n<tr>\n<td style=\"width: 24.7126%;\">Ketting-lengte<\/td>\n<td style=\"width: 41.954%;\">Getal<\/td>\n<td style=\"width: 75.4903%;\">Ketting-producten<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">0<\/td>\n<td style=\"width: 41.954%;\">0<\/td>\n<td style=\"width: 75.4903%;\">n.v.t.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">1<\/td>\n<td style=\"width: 41.954%;\">10<\/td>\n<td style=\"width: 75.4903%;\">0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">2<\/td>\n<td style=\"width: 41.954%;\">25<\/td>\n<td style=\"width: 75.4903%;\">10, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">3<\/td>\n<td style=\"width: 41.954%;\">39<\/td>\n<td style=\"width: 75.4903%;\">27, 14, 4<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">4<\/td>\n<td style=\"width: 41.954%;\">77<\/td>\n<td style=\"width: 75.4903%;\">49, 36, 18, 8<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">5<\/td>\n<td style=\"width: 41.954%;\">679<\/td>\n<td style=\"width: 75.4903%;\">378, 168, 48, 32, 6<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">6<\/td>\n<td style=\"width: 41.954%;\">6.788<\/td>\n<td style=\"width: 75.4903%;\">2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">7<\/td>\n<td style=\"width: 41.954%;\">68.889<\/td>\n<td style=\"width: 75.4903%;\">27648, 2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">8<\/td>\n<td style=\"width: 41.954%;\">2.677.889<\/td>\n<td style=\"width: 75.4903%;\">338688, 27648, 2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">9<\/td>\n<td style=\"width: 41.954%;\">26.888.999<\/td>\n<td style=\"width: 75.4903%;\">4478976, 338688, 27648, 2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">10<\/td>\n<td style=\"width: 41.954%;\">3.778.888.999<\/td>\n<td style=\"width: 75.4903%;\">438939648, 4478976, 338688, 27648, 2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.7126%;\">11<\/td>\n<td style=\"width: 41.954%;\">277.777.788.888.899<\/td>\n<td style=\"width: 75.4903%;\">4996238671872, 438939648, 4478976, 338688, 27648, 2688, 768, 336, 54, 20, 0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>En hier stopt de tabel&#8230;<\/p>\n<p>Tot op heden is er geen getal gevonden dat een kettinglengte groter dan 11 oplevert.<\/p>\n<p>Overigens heb ik de resultaten uit bovenstaande tabel met een Python-programmaatje verkregen.<\/p>\n<p>Met een wat uitgebreidere versie van dat Python-programma ben ik verder gaan zoeken.<br \/>\nTot nog toe heb ik alle (in aanmerking komende) getallen tot 10.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000 (tien octiljoen, zie <a href=\"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/nomenclatuur-getallen\/\">Nomenclatuur getallen<\/a>) getest.<\/p>\n<p><em><span class=\"collapseomatic \" id=\"id69d789ffbae19\"  tabindex=\"0\" title=\"Hoe doet ie dat?\"    >Hoe doet ie dat?<\/span><div id=\"target-id69d789ffbae19\" class=\"collapseomatic_content \"><\/em><\/p>\n<p>Het is uiteraard onmogelijk om alle getallen tot tien octiljoen te testen. En daarom is de wiskunde zo handig. Lang niet alle getallen komen in aanmerking voor dit probleem.<\/p>\n<p>Als eerste moet je je realiseren dat bijvoorbeeld 123, 321, 132 etc. allemaal hetzelfde product opleveren, daarom hoef je alleen maar 123 te testen.<\/p>\n<p>Verder zal een 0 in een getal een product van 0 opleveren wat de ketting dus meteen stopt.<\/p>\n<p>Ook een 1 legt geen enkel gewicht in de schaal.<\/p>\n<p>En de combinatie van een even getal met 5 levert in de volgende stap ook een 0 op, waarmee de ketting dus weer tot een eind komt.<\/p>\n<p>En Python heeft de prettige eigenschap van zogenaamde &#8220;comprehensions&#8221;, dit is een manier om op een handige manier lijsten te vullen waar ik dankbaar gebruik van maak:<\/p>\n<div>\n<div><strong><span style=\"font-size: 12pt;\">inv=inv+[a*100+b*10+c<\/span><\/strong><\/div>\n<div><strong><span style=\"font-size: 12pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0for a in range(2,10)<\/span><\/strong><\/div>\n<div><strong><span style=\"font-size: 12pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0for b in range (a,10)<\/span><\/strong><\/div>\n<div><strong><span style=\"font-size: 12pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0for c in range (b,10)<\/span><\/strong><\/div>\n<div><strong><span style=\"font-size: 12pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0if test(a*100+b*10+c)]<\/span><\/strong><\/div>\n<p>En in de functie <strong>test<\/strong> kijk ik dan of er een even getal en een 5 in voorkomt.<\/p>\n<p>Het programma dat de informatie van bovenstaande tabel oplevert test daarvoor maar 173.603 getallen en dat is vele malen minder dan 277.777.788.888.899.<\/p>\n<p>Op mijn simpele laptopje heeft Python daar dan ook maar 1,8 seconden voor nodig.<\/div>\n<\/div>\n<p>Het lijkt erop dat er geen getallen zijn met een langere ketting dan 11, maar dat moet dan wel bewezen worden.<\/p>\n<h5>Onopgelost: Zijn er getallen met een langere product-ketting dan 11 of is 11 het maximum?<\/h5>\n<h3><a id=\"collatz\"><\/a>Vermoeden van Collatz<\/h3>\n<p>Nog zo&#8217;n mooi onopgelost probleem.<\/p>\n<p>Het vermoeden is vernoemd naar Lothar Collatz (1910 &#8211; 1990), een Duits wiskundige, die het vermoeden in 1937 opperde.<\/p>\n<p>Neem een willekeurig natuurlijk getal (dus positief geheel).<br \/>\nAls dit getal even is dan deel je het door 2.<br \/>\nAls dit getal oneven is dan vermenigvuldig je het met 3 en telt er 1 bij op.<\/p>\n<p>Herhaal met dit nieuwe getal bovenstaande procedure.<\/p>\n<p>Het vermoeden is nu dat je altijd op 1 zult eindigen (of anders gezegd: Je komt in de loop 4 \u2192 2 \u2192 1 terecht).<\/p>\n<p>In wiskundige termen ziet het er als volgt uit:<\/p>\n<p>\u2200 n \u2208\u2115 &gt; 0 geldt:<\/p>\n<div class=\"wp-katex-eq katex-display\" data-display=\"true\">\\begin{matrix}a_{0}=n\\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\; \\\\a_{i+1}=\\left\\{\\begin{matrix}\\frac{a_{i}}{2}\\: als\\: a_{i}\\: even\\: is\\\\ 3a_{i}+1\\: als\\: a_{i}\\: oneven\\: is\\end{matrix}\\right.\\\\ \\end{matrix}<\/div>\n<p>Voorbeelden:<\/p>\n<p>n =\u00a0 5, dan 5 \u2192 16 \u2192 8 \u2192 4 \u2192 2 \u2192 1,<br \/>\nn = 11, dan 11 \u2192 34 \u2192 17 \u2192 52 \u2192 26 \u2192 13 \u2192 40 \u2192 20 \u2192 10 \u2192 5 \u2192 16 \u2192 8 \u2192 4 \u2192 2 \u2192 1<\/p>\n<p>Inmiddels zijn alle getallen tot zo&#8217;n 300 triljoen getest en alle voldoen aan het vermoeden.<\/p>\n<p>Het kan dus zijn dat er getallen bestaan die ofwel nooit eindigen ofwel in een ander getal (of lus) eindigen.<\/p>\n<p>Voor meer informatie zie ook <a href=\"https:\/\/nl.wikipedia.org\/wiki\/Vermoeden_van_Collatz\" target=\"_blank\" rel=\"noopener\">wikipedia<\/a>.<\/p>\n<h5>Onopgelost: Is het vermoeden van Collatz waar?<\/h5>\n<h3><a id=\"aliquots\"><\/a>Aliquots<\/h3>\n<p>Een vreemd woord. Het de samentrekking van detwee Latijnse woorden &#8220;ALIus&#8221; (=anders) en &#8220;QUOT&#8221; (=hoeveel).<br \/>\nVrij vertaald: &#8220;deel van een groter geheel&#8221;.<\/p>\n<p>In dit artikel, dat per slot over wiskunde gaat, is een aliquot niets anders dan de som van de echte delers van een getal.<br \/>\nOnder de echte delers van een getal verstaan we alle delers behalve het getal zelf.<\/p>\n<p>Voorbeelden:<\/p>\n<p>De echte delers van 12 zijn: 1, 2, 3, 4 en 6. De som van deze delers is 16. Dus de aliquot van 12 is 16.<\/p>\n<p>De echte delers van 8 zijn: 1, 2 en 4. De som van deze delers is 7. Dus de aliquot van 8 is 7.<\/p>\n<p>De aliquot van 12 wordt ook wel overvloedig, rijk of uitbundig (Engels=&#8221;abundant&#8221;) genoemd omdat de aliquot van 12 groter is dan 12 zelf.<\/p>\n<p>De aliquot van 8 wordt ook wel ontoerijkend of gebrekkig (Engels=&#8221;deficient&#8221;) genoemd omdat de aliquot van 8 kleiner is dan 8 zelf.<\/p>\n<p>De aliquot van een priemgetal is altijd 1. Dat is logisch want de delers van een priemgetal zijn altijd 1 en het priemgetal zelf.<\/p>\n<p>De aliquot van een volmaakt of perfect getal is het getal zelf. Ook dat is logisch want de definitie van een perfect getal is dat de som van de echte delers gelijk zijn aan het getal zelf.<\/p>\n<p>Tot zover de definities en voorbeelden.<br \/>\nHet wordt pas echt interessant wanneer we naar rijen van aliquots gaan kijken.<\/p>\n<h5>Aliquot-rijen<\/h5>\n<p>Een aliquot-rij is een rij van aliquots waarbij de vorige aliquot dient als input van de volgende aliquot.<\/p>\n<p>Voorbeelden:<\/p>\n<p>De aliquot-rij beginnend met 12 luidt: (12,) 16, 15, 9, 4, 3, 1. Deze aliquot-rij heeft een lengte van 6 (we rekenen het startgetal niet mee).<\/p>\n<p>De aliquot-rij beginnend met 8 luidt: (8,) 7, 1 en heeft een lengte van 2.<\/p>\n<p>De aliquot-rijen van priemgetallen zijn 1 en hebben een lengte van 1.<br \/>\nDe aliquot-rijen van perfecte getallen zijn &#8220;het getal zelf&#8221; en hebben ook een lengte van 1.<\/p>\n<p>Kijken we naar alle aliquot-rijen rijen tot aan 100 (als startgetal) dan is de aliquot-rij startend met 30 de langste: (30,) 42, 54, 66, 78, 90, 144, 259, 45, 33, 15, 9, 4, 3, 1 en heeft een lengte van 14.<\/p>\n<p>Gaan we boven de 100 kijken dan krijgen we interessantere rijen.<\/p>\n<p>We nemen eens 180.<br \/>\nDe rij is als volgt: 366, 378, 582, 594, 846, 1026, 1374, 1386, 2358, 2790, 4698, 6192, 11540, 12736, 12664, 11096, 11104, 10820, 11944, 10466, 5236, 6860, 9940, 14252, 14308, 15218, 10894, 6746, 3376, 3196, 2852, 2524, 1900, 2440, 3140, 3496, 3704, 3256, 3584, 4600, 6560, 9316, 8072, 7078, 3542, 3370, 2714, 1606, 1058, 601, 1,<br \/>\nmet een lengte van 151.<\/p>\n<p>Wanneer we deze aliquot-rij in een grafiek zetten dan krijgen we zoiets als:<\/p>\n<figure id=\"attachment_2130\" aria-describedby=\"caption-attachment-2130\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2130 size-medium\" src=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-300x180.png\" alt=\"Grafiek 1: AliQuot on number 180\" width=\"300\" height=\"180\" srcset=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-300x180.png 300w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-768x461.png 768w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2130\" class=\"wp-caption-text\">Grafiek 1<\/figcaption><\/figure>\n<p>De grafiek verloopt vrij grillig.<\/p>\n<p>Als we naar de grafiek van de aliquot-rij van 498 kijken dan krijgen we:<\/p>\n<figure id=\"attachment_2131\" aria-describedby=\"caption-attachment-2131\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2131 size-medium\" src=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498-300x180.png\" alt=\"Grafiek 2: AliQuot on number 498\" width=\"300\" height=\"180\" srcset=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498-300x180.png 300w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498-768x461.png 768w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2131\" class=\"wp-caption-text\">Grafiek 2<\/figcaption><\/figure>\n<p>Deze verloopt, op het oog, wat minder grillig dan de vorige maar dat heeft met name te maken dat de meeste sommen (afgezet op de y-as) in elkaar gedrukt zijn. De piek zit namelijk rond de 700.00 (722.961 om precies te zijn).<br \/>\nWanneer de aliquot-sommen uit de hand lopen kunnen we beter een log-grafiek laten zien:<\/p>\n<figure id=\"attachment_2132\" aria-describedby=\"caption-attachment-2132\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498_l.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2132 size-medium\" src=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498_l-300x180.png\" alt=\"Grafiek 3: AliQuot on number 498 - 10log\" width=\"300\" height=\"180\" srcset=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498_l-300x180.png 300w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498_l-768x461.png 768w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/498_l.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2132\" class=\"wp-caption-text\">Grafiek 3<\/figcaption><\/figure>\n<p>De log, meer specifiek de 10-log (<sup>10<\/sup>log of log<sub>10<\/sub>) is namelijk een maat voor het aantal cijfers waaruit een getal bestaat.<\/p>\n<p>Om precies te zijn: Het aantal cijfers van een getal <em>g<\/em> is <em>\u230a<sup>10<\/sup>log(g)\u230b+1<\/em>.<br \/>\nZo is het aantal cijfers van 99: \u230a<sup>10<\/sup>log(99)\u230b+1 = \u230a1,99563&#8230;\u230b+1 = 1+1 = 2 en<br \/>\nhet aantal cijfers van 101: \u230a<sup>10<\/sup>log(101)\u230b+1 = \u230a2,00432&#8230;\u230b+1 = 2+1 = 3.<\/p>\n<p>De haken (&#8216;\u230a&#8217; en &#8216;\u230b&#8217;) om de <sup>10<\/sup>log betekenen: &#8220;Afronden naar beneden&#8221;.<\/p>\n<p>Op de y-as staat nu dus het aantal cijfers van de aliquot-sommen.<\/p>\n<h5>Monsters<\/h5>\n<p>Tot nog toe zag het er allemaal best vredig uit, maar schijn bedriegt.<\/p>\n<p>Het startgetal 840, bijvoorbeeld, levert een monster van een aliquot-rij op met maar liefst 747 aliquot-sommen. En nu is dit aantal nog niet zo groot maar er zijn aliquot-sommen bij met meer dan 30 cijfers:<\/p>\n<figure id=\"attachment_2134\" aria-describedby=\"caption-attachment-2134\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/840_l.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2134 size-medium\" src=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/840_l-300x180.png\" alt=\"Grafiek 4: AliQuot on number 840 - 10log\" width=\"300\" height=\"180\" srcset=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/840_l-300x180.png 300w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/840_l-768x461.png 768w, https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/840_l.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-2134\" class=\"wp-caption-text\">Grafiek 4<\/figcaption><\/figure>\n<p>En ondanks dat de 840-rij grote getallen heeft is er kennelijk toch een omslagpunt waardoor de rij weer keurig eindigt met een 1.<\/p>\n<p>Wanneer je alle getallen vanaf 2 tot aan 1000 als start getal van een aliquot-rij neemt dan zijn er rijen bij die ogenschijnlijk niet eindigen.<\/p>\n<p>Dit geldt voor de getallen: <strong>276<\/strong>, 306, 396 <strong>552<\/strong>, <strong>564<\/strong>, <strong>660<\/strong>, 696, 780, 828, 888, <strong>966\u00a0<\/strong>en 996.<\/p>\n<p>De dik-gedrukte getallen worden de getallen van Lehmer genoemd omdat die meneer dit als eerste heeft ontdekt of in ieder geval als eerste heeft gepubliceerd.<\/p>\n<p>De andere getallen maken deel uit van de aliquot-rijen die starten met een getal van Lehmer.<\/p>\n<p>De vraag is of deze aliquot-rijen ooit eindigen, en zo ja, hoe.<\/p>\n<h5>Onopgelost: Eindigt iedere aliquot-rij?<\/h5>\n<h6>Python programma<\/h6>\n<p>Om \u00e9\u00e9n en ander zelf te onderzoeken heb ik een programma in Python gemaakt waarvan hier de code:<\/p>\n<p><em><span class=\"collapseomatic \" id=\"id69d789ffbaf16\"  tabindex=\"0\" title=\"Code\"    >Code<\/span><div id=\"target-id69d789ffbaf16\" class=\"collapseomatic_content \"><\/em><\/p>\n<div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#Aliquots = deel van een groter geheel (ALIus = anders; QUOT = hoeveel)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#aliquotsom: De som van de echte delers van een getal<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#deficient-ontoereikend\/gebrekkig als de aliquotsom(n)&lt;n<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#abundant-overvloedig\/rijk\/uitbundig als de aliquotsom(n)&gt;n<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#De vijf van Lehmer: getallen onder de 1000 waarvan men niet kan aantonen dat de aliquotrij eindigt<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">#De vijf van Lehmer: 276, 552, 564, 660, 966<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import math<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import matplotlib.pyplot as plt<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import numpy as np<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import matplotlib.animation as animation<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import sympy<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">ar=[]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def correctmarker(marker: str) -&gt; bool:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## correctmarker determines if the marker is accepted for the pyplot.plot function<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Determines if the marker is accepted for the pyplot.plot function.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `marker (str)`: the type of the marker.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Returns:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `bool`: True if the marker is right otherwise False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if len(marker) &gt; 1:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 return False<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if marker == &#8221;:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 return True<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 markers = &#8216;.,ov^&lt;&gt;12348spP*hH+xXdD|_&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 found=False<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 for i in range(len(markers)):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if marker==markers[i]:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 found=True<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 return found<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def correctcolor(color: str) -&gt; bool:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## correctcolor determines if the color is accepted for the pyplot.plot function<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Determines if the color is accepted for the pyplot.plot function.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `color (str)`: the color.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Returns:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `bool`: True is color is right otherwise False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 colors=[&#8216;blue&#8217;, &#8216;orange&#8217;, &#8216;green&#8217;, &#8216;red&#8217;, &#8216;purple&#8217;, &#8216;brown&#8217;, &#8216;pink&#8217;, &#8216;gray&#8217;, &#8216;olive&#8217;, &#8216;cyan&#8217;, &#8216;black&#8217;]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if color in colors:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 return True<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 return False<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def aliquotsom(g: int) -&gt; int:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## aliquotsom determines the sum of the true divisors of g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Determines the sum of the true divisors of g.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 The true divisors of g are all the divisors except the number itself<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `g (int)`: the number of wich the aloquot-sum must be calculated.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Returns:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `int`: the aliqout-sum fo number g.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if g&lt;4:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 som=1<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ### PURE PYTHON CODE ###<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # delers=set()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # delers=list()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # w=int(math.sqrt(g)+1)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # print(w)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # for i in range(2,w+1): #loop vanaf 2 want anders komt g ook in deler-lijst<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 if g%i == 0:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 \u00a0 \u00a0 delers.add(i)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 \u00a0 \u00a0 delers.add(g\/\/i)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 \u00a0 \u00a0 # delers.append(i)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 \u00a0 \u00a0 # delers.append(g\/\/i)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # delers.sort()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # delers=list(set(delers))<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # print(delers)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # # som=1 #1 is altijd een echte deler van g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # som = 0<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # for i in delers:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # \u00a0 \u00a0 som += i<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ### OPTIMALIZATION WITH SYMPY ###<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 delers=sympy.divisors(g)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 delers.pop()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 som = sum(delers)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 return som<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def aliquotrij(start:int, max: int=70, debug=False):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## aliquotrij makes a list of the aliqout-chain starting with the number start<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Makes a list of the aliqout-chain starting with the number start.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Returns the list with the aliquot-numbers and the length of the list.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 When the list did not stop after max loops the last item of the list will become -1.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `start (int)`: the start number of the aliquot chain.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `max (_type_, optional)`: the maximum length of the aliquot-chain. Defaults to None.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `debug (bool, optional)`: if True: you see a dot after each 5 steps in the loop. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Returns:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `_type_`: the list with the aliquot-numbers and the length of the list.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 t=0<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 hl=[]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 door=True<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 i=start<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 while door:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 t+=1<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if debug:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if t%5==0:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print(t, end=&#8221;, &#8220;, flush=True)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 a_s=aliquotsom(i)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # print(a_s)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if a_s==1:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 hl.append(1)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 door=((a_s!=1) and not(a_s in hl) and (t&lt;max))<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if door:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 hl.append(a_s)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # print(hl)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 i=a_s<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if t&gt;=max:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 hl.append(-1)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 return hl, len(hl)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def bepaal_ar(g: int, max: int=70, show: bool=False):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## bepaal_ar makes the list of the aliquot-chain starting with number g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Makes the list of the aliquot-chain starting with number g.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 This function is run only once for efficiency reasons.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `g (int)`: the start number of the aliquot chain.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `max (int, optional)`: the maximum length of the aliquot-chain. Defaults to 70.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `show (bool, optional)`: if True: displays the list of the aliquot-chain. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Returns:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `_type_`: the list with the aliquot-numbers and the length of the list.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 global ar<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not ar:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ar = aliquotrij(g, max=max)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if show:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print(ar[0])<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 return ar<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def aliquotgraf(g: int, logscale=None, color: str=&#8217;blue&#8217;, marker: str=&#8217;o&#8217;, markersize: int=6,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 max: int=70, show: bool=False, file_name: str=&#8221;) -&gt; None:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## aliquotgraf makes a graph of the aloquot-chain of the number g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Makes a graph of the aloquot-chain of the number g.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `g (int)`: the start number of the aliquot chain.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `logscale (_type_, optional)`: if equal to &#8216;log10&#8217; the y-axis will be a log10-scale. Defaults to None.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `color (str, optional)`: color of the graph. Defaults to &#8216;blue&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `marker (str, optional)`: marker of the graph-points. Defaults to &#8216;o&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `markersize (int, optional)`: the size of the marker. Defaults to 6.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `max (int, optional)`: the maximum length of the aliquot-chain. Defaults to 70.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `show (bool, optional)`: if True: displays the list of the aliquot-chain. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `file_name (str, optional)`: if set the graph will be saved as png on disk. Defaults to &#8221;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 global ar<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctmarker(marker):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 marker=&#8217;o&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctcolor(color):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 color=&#8217;blue&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 lst=list()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 l=0<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ar = bepaal_ar(g, max=max, show=show)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 lst=ar[0]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if lst[-1] == -1:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 lst.pop()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 l=ar[1]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.figure(figsize=(10,6), num=&#8221;AliQuot&#8221;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.title(f&#8217;AliQuot on number {g}&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.xlabel(&#8216;index of list&#8217;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.plot(lst, color=color, marker=marker, markersize=markersize)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 # plt.yscale(&#8220;linear&#8221;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if logscale == &#8216;log10&#8217;:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.yscale(&#8220;log&#8221;, base=10)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;number of digits of sum&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;sum&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 # plt.xscale(&#8220;linear&#8221;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if len(file_name) &gt; 0:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.savefig(f&#8217;c:\/data\/python\/data\/aliquots\/{file_name}.png&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.show()<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def aliquotanimation(g: int, logscale=None, color: str=&#8217;blue&#8217;, marker: str=&#8217;o&#8217;, markersize: int=6,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0interval: int=200, repeat: bool=False, repeat_delay: int=0, max: int=70,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0show: bool=False, file_name: str=&#8221;) -&gt; None:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## aliquotanimation makes a animated graph of the aliquot-chain of the number g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Makes a animated graph of the aliquot-chain of the number g where the scale of the axes is static.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `g (int)`: the start number of the aliquot chain.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `logscale (_type_, optional)`: if equal to &#8216;log10&#8217; the y-axis will be a log10-scale. Defaults to None.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `color (str, optional)`: color of the graph. Defaults to &#8216;blue&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `marker (str, optional)`: marker of the graph-points. Defaults to &#8216;o&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `markersize (int, optional)`: the size of the marker. Defaults to 6.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `interval (int, optional)`: the time in ms between the frames. Defaults to 200.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `repeat (bool, optional)`: if True: the graph will repeat. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `repeat_delay (int, optional)`: the time in ms between repeats. Defaults to 0.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `max (int, optional)`: the maximum length of the aliquot-chain. Defaults to 70.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `show (bool, optional)`: if True: displays the list of the aliquot-chain. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `file_name (str, optional)`: if set the graph will be saved as gif on disk. Defaults to &#8221;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 global ar<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctmarker(marker):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 marker=&#8217;o&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctcolor(color):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 color=&#8217;blue&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ar = bepaal_ar(g, max=max, show=show)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if ar[0][-1] == -1:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ar[0].pop()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 x = np.array(list(range(ar[1])))<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 y = np.array(ar[0])<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 fig, ax = plt.subplots(figsize=(10,6), num=&#8221;AliQuot: Static axes&#8221;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.suptitle(f&#8217;AliQuot on number {g}&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.xlabel(&#8216;index of list&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 artists = []<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 for i in range(ar[1]):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 container = ax.plot(x[:i], y[:i], color=color, marker=marker, markersize=markersize)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 artists.append(container)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if logscale == &#8216;log10&#8217;:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.yscale(&#8220;log&#8221;, base=10)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;number of digits of sum&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;sum&#8217;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ani = animation.ArtistAnimation(fig=fig, artists=artists, interval=interval, repeat=repeat, repeat_delay=repeat_delay, blit=False)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if len(file_name) &gt; 0:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ani.save(f&#8217;c:\/data\/python\/data\/aliquots\/{file_name}.gif&#8217;, writer=&#8217;pillow&#8217;, fps=60)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.show()<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">maxi: int = -1<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">def aliquotanimation_dynamic(g: int, logscale=None, color: str=&#8217;blue&#8217;, marker: str=&#8217;o&#8217;, markersize: int=6,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0interval: int=200, repeat: bool=False, repeat_delay: int=0, max: int=70,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0show: bool=False, file_name: str=&#8221;) -&gt; None:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ## aliquotanimation_dynamic makes a animated graph of the aliquot-chain of the number g<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 Makes a animated graph of the aliquot-chain of the number g where the scale of the axes is dynamic.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ### Args:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `g (int)`: the start number of the aliquot chain.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `logscale (_type_, optional)`: if equal to &#8216;log10&#8217; the y-axis will be a log10-scale. Defaults to None.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `color (str, optional)`: color of the graph. Defaults to &#8216;blue&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `marker (str, optional)`: marker of the graph-points. Defaults to &#8216;o&#8217;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `markersize (int, optional)`: the size of the marker. Defaults to 6.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `interval (int, optional)`: the time in ms between the frames. Defaults to 200.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `repeat (bool, optional)`: if True: the graph will repeat. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `repeat_delay (int, optional)`: the time in ms between repeats. Defaults to 0.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `max (int, optional)`: the maximum length of the aliquot-chain. Defaults to 70.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `show (bool, optional)`: if True: displays the list of the aliquot-chain. Defaults to False.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8211; `file_name (str, optional)`: if set the graph will be saved as gif on disk. Defaults to &#8221;.<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 &#8220;&#8221;&#8221;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 global ar<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctmarker(marker):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 marker=&#8217;o&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if not correctcolor(color):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 color=&#8217;blue&#8217;<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ar = bepaal_ar(g, max=max, show=show)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 s = 0<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if ar[0][-1] == -1:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ar[0].pop()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 s = 1<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 x = np.array(list(range(len(ar[0]))))<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 y = np.array(ar[0], dtype=float)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 fig, ax = plt.subplots(figsize=(10,6), num=&#8221;AliQuot: Dynamic axis&#8221;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.suptitle(f&#8217;AliQuot on number {g}&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.xlabel(&#8216;index of list&#8217;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ax.plot(x, y, color=color, marker=marker, markersize=markersize)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 def animate(num, y):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 global maxi<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 # print(num)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if y[num] &gt; maxi:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 maxi = y[num]<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 if logscale == &#8216;log10&#8217;:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ax.set_ylim(bottom=1, top=maxi)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ax.set_ylim(bottom=-1, top=maxi)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ax.set_xlim(left=0, right=num+1)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if logscale == &#8216;log10&#8217;:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.yscale(&#8220;log&#8221;, base=10)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;number of digits of sum&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 else:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 plt.ylabel(&#8216;sum&#8217;)<\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 ani=animation.FuncAnimation(fig, animate, frames=len(x), repeat=repeat, repeat_delay=repeat_delay, fargs=[y], interval=interval)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 if len(file_name) &gt; 0:<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 ani.save(f&#8217;c:\/data\/python\/data\/aliquots\/{file_name}.gif&#8217;, writer=&#8217;pillow&#8217;, fps=60)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 plt.show()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">import time<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># examples<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># print(aliquotsom(36))<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># st0=time.time()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># ar=aliquotrij(990, 750, debug=True)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># st1=time.time()<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># print(ar[0], ar[1])<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># print(st1-st0)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># show aliquotrij for range of numbers<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># for i in range(501,601):<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># \u00a0 \u00a0 ar = aliquotrij(i, 250)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># \u00a0 \u00a0 print(f'{i:3}: {ar[0]}; len={ar[1]}&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># show (and save) different static and dynamic graphs<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">number = 498<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\"># number = 840<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotgraf(g=number, max=200, logscale=&#8217;log10&#8242;, marker=&#8221;, color=&#8217;purple&#8217;, file_name=f'{number}_l&#8217;, show=True)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotgraf(g=number, max=200, logscale=None, marker=&#8221;, color=&#8217;purple&#8217;, file_name=f'{number}&#8217;, show=True)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotanimation(g=number, logscale=&#8217;log10&#8242;, marker=&#8221;, color=&#8217;purple&#8217;, interval=2,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0repeat=False, repeat_delay=1000, max=200, show=True, file_name=f'{number}_sl&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotanimation_dynamic(g=number, logscale=&#8217;log10&#8242;, marker=&#8221;, color=&#8217;purple&#8217;, interval=2,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0repeat=False, repeat_delay=1000, max=200, show=True, file_name=f'{number}_dl&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotanimation(g=number, logscale=None, marker=&#8221;, color=&#8217;purple&#8217;, interval=2,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0repeat=False, repeat_delay=1000, max=200, show=True, file_name=f'{number}_s&#8217;)<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">aliquotanimation_dynamic(g=number, logscale=None, marker=&#8221;, color=&#8217;purple&#8217;, interval=2,<\/span><\/div>\n<div><span style=\"font-family: 'courier new', courier, monospace; font-size: 8pt;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0repeat=False, repeat_delay=1000, max=200, show=True, file_name=f'{number}_d&#8217;)<\/span><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inleiding Deze pagina gaat over onopgeloste problemen in de wiskunde die eenvoudig zijn te formuleren zodat een kind, bij wijze van spreken, begrijpt waarover het gaat maar waar de wiskunde tot op heden geen oplossing voor heeft kunnen geven. We gaan dus niet in op problemen zoals de Riemann hypothese. Is het belangrijk dat deze, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2061,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"class_list":["post-1878","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Onopgeloste problemen - Wiskunst<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Onopgeloste problemen - Wiskunst\" \/>\n<meta property=\"og:description\" content=\"Inleiding Deze pagina gaat over onopgeloste problemen in de wiskunde die eenvoudig zijn te formuleren zodat een kind, bij wijze van spreken, begrijpt waarover het gaat maar waar de wiskunde tot op heden geen oplossing voor heeft kunnen geven. We gaan dus niet in op problemen zoals de Riemann hypothese. Is het belangrijk dat deze, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/\" \/>\n<meta property=\"og:site_name\" content=\"Wiskunst\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-26T15:44:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-300x180.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"23 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/\",\"name\":\"Onopgeloste problemen - Wiskunst\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wiskunst.nl\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/180-300x180.png\",\"datePublished\":\"2023-07-04T06:57:01+00:00\",\"dateModified\":\"2024-07-26T15:44:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/180.png\",\"contentUrl\":\"https:\\\/\\\/wiskunst.nl\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/180.png\",\"width\":1000,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/onopgeloste-problemen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wiskunde is leuk\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Nieuwe artikelen\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Artikel 00-0F\",\"item\":\"https:\\\/\\\/wiskunst.nl\\\/index.php\\\/wiskunde-is-leuk\\\/nieuwe-artikelen\\\/artikel-00-0f\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Onopgeloste problemen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wiskunst.nl\\\/#website\",\"url\":\"https:\\\/\\\/wiskunst.nl\\\/\",\"name\":\"Wiskunst\",\"description\":\"2\u221e\u2227&gt;\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wiskunst.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Onopgeloste problemen - Wiskunst","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/","og_locale":"nl_NL","og_type":"article","og_title":"Onopgeloste problemen - Wiskunst","og_description":"Inleiding Deze pagina gaat over onopgeloste problemen in de wiskunde die eenvoudig zijn te formuleren zodat een kind, bij wijze van spreken, begrijpt waarover het gaat maar waar de wiskunde tot op heden geen oplossing voor heeft kunnen geven. We gaan dus niet in op problemen zoals de Riemann hypothese. Is het belangrijk dat deze, [&hellip;]","og_url":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/","og_site_name":"Wiskunst","article_modified_time":"2024-07-26T15:44:23+00:00","og_image":[{"url":"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-300x180.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"23 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/","url":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/","name":"Onopgeloste problemen - Wiskunst","isPartOf":{"@id":"https:\/\/wiskunst.nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/#primaryimage"},"image":{"@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/#primaryimage"},"thumbnailUrl":"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180-300x180.png","datePublished":"2023-07-04T06:57:01+00:00","dateModified":"2024-07-26T15:44:23+00:00","breadcrumb":{"@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/#primaryimage","url":"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180.png","contentUrl":"https:\/\/wiskunst.nl\/wp-content\/uploads\/2024\/07\/180.png","width":1000,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/onopgeloste-problemen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wiskunst.nl\/"},{"@type":"ListItem","position":2,"name":"Wiskunde is leuk","item":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/"},{"@type":"ListItem","position":3,"name":"Nieuwe artikelen","item":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/"},{"@type":"ListItem","position":4,"name":"Artikel 00-0F","item":"https:\/\/wiskunst.nl\/index.php\/wiskunde-is-leuk\/nieuwe-artikelen\/artikel-00-0f\/"},{"@type":"ListItem","position":5,"name":"Onopgeloste problemen"}]},{"@type":"WebSite","@id":"https:\/\/wiskunst.nl\/#website","url":"https:\/\/wiskunst.nl\/","name":"Wiskunst","description":"2\u221e\u2227&gt;","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wiskunst.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"}]}},"_links":{"self":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/1878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/comments?post=1878"}],"version-history":[{"count":54,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/1878\/revisions"}],"predecessor-version":[{"id":2165,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/1878\/revisions\/2165"}],"up":[{"embeddable":true,"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/pages\/2061"}],"wp:attachment":[{"href":"https:\/\/wiskunst.nl\/index.php\/wp-json\/wp\/v2\/media?parent=1878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}