Torej napisati moramo funkcijo, ki izračuna, koliko sestavljenih števil manjših od nekega števila n, se da razcepiti na natanko dve ne nujno različni praštevili. Rešitev naloge nam bo dala funkcija, ki bo za parameter prejela n = 108. Najprej torej napišemo algoritem za izračun za poljuben parameter n, nato na koncu vstavimo zahtevani n in če je algoritem pravilen dobimo rešitev.
Nalogo lahko rešimo tako, da napišemo dve funkciji in sicer: jePrastevilo (stevilo) in composites (n). Druga nam s pomočjo prve funkcije vrne iskano rešitev problema.
Ideja rešitve je v tem, da sestavimo dva seznama praštevil. V prvem seznamu bodo vsa praštevila, ki so manjša ali enaka kvadratnemu korenu parametra n (praštevila≤√n), v drugem seznamu pa bodo vsa praštevila, ki so manjša ali enaka polovici n-ja (praštevila ≤ n/2). Ta dva seznama sem izbrala zato, ker le kombinacija dveh praštevil iz teh dveh seznamov, nam lahko da produkt, ki je manjši od n. Če bi drugi seznam vseboval praštevila, ki so večja od n/2, potem bi bil produkt le teh praštevil s katerim koli drugim praštevilom definitivno večji od števila n. Nas pa zanimajo ravno taka sestavljena števila, ki jih lahko razcepimo na ne nujno različni dve praštevili, katerih produkt je manjši od n. Seznama sem sestavila s pomočjo funkcije jePrastevilo.
Nato sem definirala še nek števec, ki je štel koliko parov praštevil ustreza naslednjima pogojema:
- praštevilo1 <= praštevilo2 in
- praštevilo1 * praštevilo2 < n.
Pri tem pa upoštevamo, da jemljemo praštevila1 iz prvega seznama, praštevila2 pa iz drugega seznama. Če dvojica ustreza obema pogojema se števec poveča za 1. Ko pregledamo vse možne dvojice dobimo iskani rezultat, ki ga vrne funkcija composites.