Alkeellista alkuluku ohjelmointia

Hupiohjelmointia

Mikä on suurin alkulu, minkä saatte selville omalla koodillanne? Millaisella?
Mä sain tällaisella Rebol koodilla selville, että suurin Rebol kielen integer 2147483647 sattuu olemaan myöskin alkuluku.

rebol[]
luvut: [] ;Taulukoidaan tähän alkulukuja
print " "
append luvut 1
append luvut 2
append luvut 3
luku: 5
while [true][
onalkuluku: true
foreach l luvut [
if l > 1 [
if (luku / l = round (luku / l)) [
onalkuluku: false
break
]
]
]
if onalkuluku [
append luvut luku
if luku >= 46341 [break] ; Alkuluuja ei tarvitse taulukoida kuin Maxintin neliöjuureen
]
luku: luku 2
]
print last luvut

luvut2: []
luku: 2147483647 ; Maxint
while [true][
print luku
onalkuluku: true
foreach l luvut [
if l > 1 [
if (luku / l = round (luku / l)) [
onalkuluku: false
break
]
]
]
if onalkuluku [
print luku
break

]
luku: luku - 2
]
halt

4

131

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Setä.neuvoo.taas

      Aihetta sivuaa tai hipaisee hieman tällainen keskustelu:
      http://keskustelu.suomi24.fi/t/14870994/neliot-alkuluvut-ja-mod-6

      Valitettavasti en muista, miten suuria alkulukuja on löytynyt itse tehdyillä ohjelmilla. Nimittäin niitä laitteita ja menetelmiä oli niin runsaasti. Oli isompaa konetta, ja PC:tä, ja ohjelmoitavia laskimia. Perinteistä lineaarista ohjelmointia, sekä olio-ohjelmointia. Jotain alkulukuja suosittelin muille käyttää parametrina kryptausohjelmaan, jota myös tuli tehtyä erilaisille koneille erilaisia versioita.

      Lähinnä kahdenlaista menetelmää alkulukujen etsinnässä:
      Ohjelma pantiin käymään läpi parittomia lukuja, ja sisemmässä luupissa, silmukassa testattiin mahdollisia jakajia. Ohjelma nopeutui huomattavasti, kun oivalsin käyttää jakolaskutestissä vain jo löytyneitä alkulukuja, taulukoituja.

      https://fi.wikipedia.org/wiki/Eratostheneen_seula
      Eratostheneen seulaa muistuttavalla menetelmällä tein ohjelmaa huvikseni, harrastuksen vuoksi, ohjelmoitavaan laskimeen - muistaakseni siten, että taulukossa alkion pituus oli yksi bitti, totuusmuuttuja eli vipu. Taulukkoon viitattiin luvulla, indeksillä, joka sitten oli sama kuin testattava luku, että onko tämä alkulukua vai ei. Eli taulukkoon muotoutui ykkösiä vastaaviin kohtiin kuin missä alkulukuja esiintyi. Bittien nollaamisessa, eli jaollisuuden merkitsemisessä taulukkoon, voitiin käyttää jo löytyneitä alkulukuja. Esim. turha kokeilla jakajaksi taulukkoon 8, jos on jo läpikäyty kakkosella.

      Silloin tällöin on tullut haaveiltua, löytyisikö vielä muitakin menetelmiä alkulukujen etsintään. Internetissä on PDF-tiedostoja ja Youtube-videoita aiheeseen liittyen. Hakukoneeseen esim. PDF prime numbers.

      Aiheesta lienee luvattu jonkinlainen palkintokin. Oliko se puoli miljoonaa dollaria aina sille, joka tekee alkulukujen etsinnässä uuden ennätyksen?

    • koodikaveri

      Tuossa ei ole speksattu, kuinka paljon teoriaa voi olettaa taakse. Siis vaikkapa Python-ohjelma

      print("2^74207281-1 on alkuluku") tulostaa toistaiseksi suurimman tunnetun alkuluvun, vaikka ohjelma ei laskekaan sitä.

    • krikridiipui

      empä ole koittanut pitäis suoraan hypätä jonnekin, hemmetin suoreen kahden potenisiin ja lisätä tai vähentää siittä muutama numero ja sitten jollain konstilla yrittää jakaa sitä, siis kokeilla onko alku luku, ja jos ei ole niin lisätä sitten kolme ja kokeilla uudestaan ja jatkaan näin kunnes löytyy alkuluku, Mutta miten testaa helposti onko luku alku luku.
      vai pitääkö vain nousta numeroita eteenpäin ykkösestä ja aina kun tulee alkuluku niin alkaa kertomaan sitä toisesses arrayssä ja sitten tarkistaa onko luku jo jossain ärräyssä niin se ei ole alku luku
      eli
      array1 12345 jne..
      ja arry2 2468
      ja arry3 369...
      ja arry5 5,10, 15
      ...
      siten mennä array1 eteen päin joka kierroksella ja takistaa että sen luku ei ole muissa ayissä ja ainakun löytyy uus niin tehdä sille oma array jossa, sitä kerrotaan isommaksi joka kieros tarkistuksia varten

      Olis aika huono tapa tää koko ajan veis lissää muistia pitäis olla joku super tietokonen. Jos tällasen tekis oikeesti pitäis varmaan perehtyä papereihin aiheesta päästä johonkin yliopistojen tietokantoihin, ja lukea vähän millaista tutkimusta on aiheeesta ja aikaisempia parametreja praimsien löytymisestä

      Olen sen verran lukenut että suurimmat primsit eli alkuluvut enlish on löydetty haku ammunta menetelmillä hypäämällä yli paljon pienempiä primsejä. En kyllä viitti tehdä mitään koodia tämmösestä kun i tarte

      • kikiriidididii

        jaa se olikin jo tuon erotuksen seula, ylempänä, näin hän se on että ennekuin itse alkaa mitään miettiä niin kannattaa katsoa jostain vanhasta, sitä on niin paljon pyöriä jo nykään että kokoajaan tuppaa keksimään pyörää uudestaan, ja mitä se vaikuttaa ellei sitten tykkää sellaisesta


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Baaritappelu

      Hurjaksi käynyt meno Laffassa. Jotain jätkää kuristettu ja joutunu teholle...
      Kokkola
      67
      6489
    2. Tappo Kokkolassa

      Päivitetty tänään Iltalehti 17.04.2024 Klo: 15:23..Mikähän tämä tapaus nyt sitten taas on.? Henkirikos Kokkolassa on tap
      Kokkola
      27
      4193
    3. Miksi tytöt feikkavat saaneensa orgasmin, vaikka eivät ole saaneet?

      Eräs ideologia itsepintaisesti väittää, että miehet haluavat työntää kikkelinsä vaikka oksanreikään, mutta tämä väite ei
      Sinkut
      270
      2597
    4. Poliisit vaikenee ja paikallinen lehti

      Poliisit vaikenee ja paikallinen lehti ei kerro taposta taaskaan mitään. Mitä hyötyä on koko paikallislehdestä kun ei
      Kokkola
      26
      2030
    5. MAKEN REMPAT

      Tietääkö kukaan missä tämmöisen firman pyörittäjä majailee? Jäi pojalla hommat pahasti kesken ja rahat muisti ottaa enna
      Suomussalmi
      30
      1538
    6. Mitä ihmettä

      Kaipaat hänessä
      Ikävä
      97
      1397
    7. Itämaisesta filosofiasta kiinnostuneille

      Itämaisesta filosofiasta kiinnostuneille. Nämä linkit voivat auttaa pääsemään niin sanotusti alkuun. https://keskustel
      Hindulaisuus
      304
      1107
    8. Kuntoutus osasto Ähtärin tk vuode osasto suljetaan

      5 viikkoa ja mihin työntekijät, mihin potilaat. Mikon sairaalan lopetukset saivat nyt jatkoa. Alavudelle Liisalle tulee
      Ähtäri
      55
      1101
    9. Välillä käy mielessä

      olisiko sittenkin ollut parempi, että emme koskaan olisi edes tavanneet. Olisi säästynyt monilta kyyneleiltä.
      Ikävä
      77
      1046
    10. Mulla on kyllä

      Järkyttävä ikävä sua. Enkä yhtään tykkää tästä olotilastani. Levoton olo. Ja vähän pelottaa..
      Ikävä
      39
      1031
    Aihe