perjantai 20. kesäkuuta 2025

Luku 142857



American Mathematical Societyn seinäkalenteri, josta olen aiemmin kertonut, sisältää (oleellisesti) seuraavan ongelmatehtävän:

Symbolit a, b, c, d, e ovat luvun peräkkäisiä numeroita. Mitä nämä ovat, kun luku 1abcde kerrottuna 3:lla on abcde1? Kertolaskussa siis luku 1 siirtyy luvun alusta sen loppuun.

Käsinlaskun allekkain tapahtuvan kertolaskun (kuva yllä) oppinut henkilö ratkaisee tehtävän toteamalla aluksi, että ykkösiä kerrottaessa saatavan luvun 3e tulee olla sellainen, että sen jälkimmäinen (tai ainoa) numero on 1. Kolmosen kertotaulussa on vain yksi tällainen luku, 21, joten e=7 ja muistinumeroksi tulee 2. Kymmeniä kerrottaessa syntyy luku 3d, johon lisätään muistinumero 2. Tämän jälkimmäisen numeron tulee olla e eli 7, jolloin 3d:n jälkimmäisen numeron tulee olla 5. Ainoa sopiva luku kolmosen kertotaulussa on 15, jolloin d=5 ja muistinumero on 1. Näin jatketaan ja saadaan a=4, b=2, c=8, d=5, e=7.

Edellä sanottu saattaa olla hieman vaikeasti hahmotettavaa henkilölle, joka on tottunut laskemaan kertolaskunsa laskimella. Käsinlaskijalle ratkaisutapa on luonnollinen.

Algebrallisempi ratkaisutapakin löytyy. Ehdon voi kirjoittaa muotoon \begin{align}100000a+&10000b+1000c+100d+10e+1\\ &= 3(100000+10000a+1000b+100c+10d+e).\end{align} Siirtämällä symboleja sisältävät termit samalle puolelle saadaan \[70000a+7000b+700c+70d+7e = 299999.\] Jakamalla seitsemällä saadaan \[10000a+1000b+100c+10d+e = 42857\] ja tulos on nähtävissä.

Ohjelmoinnista innostunut henkilö toteaa, että symbolit a, b, c, d, e ovat numeroita 0 ... 9. Poimitaan siis kaikki viisinumeroiset permutaatiot ja kokeillaan, mitkä niistä toteuttavat kertolaskun. Permutaatioita on $10 \cdot 9 \cdot 8 \cdot 7 \cdot 6 = 30240$ kappaletta, jolloin laskennan kesto ei ole mikään ongelma.

Tekoälyaikana tekee tietenkin mieli kokeilla, tekisikö tekoäly ohjelmakoodin. Annoin tehtävän Claude-tekoälylle ja pyysin ohjelmaa Python-kielellä ja laskentaohjelma Mathematican Wolfram Languagella. Molemmat syntyivät täysin ajokelpoisina. Ja tuloskin tietysti sama kuin edellä.

Ohjelmakoodi avaa mahdollisuudet lisätutkimuksiin. Miksi tyytyä vain kertoimeen 3, alusta loppuun siirrettävään lukuun 1, vain yhden merkin pituiseen alusta loppuun siirrettävään jonoon tai vain kuusinumeroisiin lukuihin? Jos ohjelma on tehty hyvin, sitä on helppoa muokata.

Tämän jälkeen voikin aloittaa matematiikan empiirisen tutkimisen ja kokeilla erilaisia arvoja: luvun numeroiden määrä $n$, kerroin $c$, siirrettävien numeroiden määrä $m$. Sallimalla ohjelmassa kaikki $n$ numeron permutaatiot ei tarvitse välittää, mitä siirrettävät numerot ovat. Monilla arvoilla ei löydy ratkaisuja lainkaan. Jonkinlainen systemaattisuus on tarpeen, muutoin syntyy vain hajanaisia havaintoja. Itse tyydyin kuusinumeroisiin lukuihin.

Kertoimen 3 tapauksessa löytyy toinenkin luku: jo löydetyn 142857 lisäksi 285714. Jos kertoimen 6 tapauksessa siirretään kolme numeroa alusta loppuun, löytyy yksi ratkaisu: 142857. Kerrointa 4 vastaamaan löytyy viisi ratkaisua, joista yksi on jälleen 142857. Luku toistuu useassakin yhteydessä:



Lukua 142857 kutsutaan sykliseksi luvuksi, koska sen edellä luetelluissa kerrannaisissa esiintyvät samat numerot permutoituina. Ilmiö yleistyy muihinkin kerrannaisiin joskaan ei aivan suoraviivaisesti. Muitakin kiintoisia piirteitä löytyy. Esimerkiksi murtoluvun $1/7$ desimaalikehitelmän jakso on 142857: \[1/7 = 0.142857142857142857142857142857\dots\]
Luku 142857 on myös saanut oman Wikipedia-sivunsa. Englanninkielinen sivu kuitenkin häviää ranskankieliselle. Erikielisiä sivuja kannattaakin usein vertailla, jos vain kielitaito riittää; automaattikäännöstäkin voi käyttää.

Syklisiä lukuja on muitakin. Tarkemmin vaikkapa englannin- tai ranskankielisiltä Wikipedia-sivuilta tai MathWorld-sivustosta.

Lukumystiikkaankin voi tällaisissa yhteyksissä harhautua.