(*  Alkulukuja etsiessä tehdään seuraavat oletukset:
   • Testataan vain parittomia, koska parilliset luvut jakaantuvat aina 
     tasan kahteen. Näin ne eivät voi olla alkulukuja.
   • Edellisestä seuraa, että testattavat luvut eivät voi olla jaollisia 
     parillisilla luvuilla. Jakajina käytetään siis vain parittomia 
     lukuja.
   • Suuri osa parittomista luvuista on jakautuu tekijöihin. Luvun pienin jakamaton 
     tekijä on alkuluku. Siksi käytetään jakajina vain jo löydettyjä alkulukuja. 
   • Yhteenveto: Ellei testattava ykköstä suurempi pariton kokonaisluku ole
     jaollinen ykköstä suuremmalla alkuluvulla, se on itse alkuluku.
*)
global results

on run
   set i to 1
   set results to {3}
   repeat 300 times
      set i to i + 2
      if theTest(i) is true then
         set results to results & i
      end if
   end repeat
   set theResults to 1 & 2 & results
end run

on theTest(i)
   repeat with j in results
      set division to i / j
      try
         set division to division as integer
         return false
         exit repeat
      on error
         -- jakolaskun tulos ei ollut kokonaisluku, 
         -- eli testattava ei ole jaollinen löydetyillä alkuluvuilla
      end try
   end repeat
   return true
end theTest

(*
     Kirjoittaja ei ole perehtynyt matematiikkaan eikä ohjelmointiin, ja on 
     jo perillä nopeammista tavoista laskea alkulukuja AppleScriptin avulla. 
     Skripti kuitenkin julkaistaan tässä, koska se edustaa omaperäistä ajattelua. 
     Pyörä voidaan keksiä aina uudelleen vaikkapa omaksi iloksi.
*)