JavaScript: Primzahlen in HTML-Tabelle ausgeben

  • hi,

    ich will in javascript eine funktion erstellen, die folgendes tun soll:

    -die ersten 100 Primzahlen (beginnend mit 2) ermitteln.

    -das ergebnis in einer html-tabelle darstellen (also in der ersten reihe die zellen von 1 -100 + in der zweiten reihe die zugehörigen primzahlen).


    kann mir jemand helfen oder tips geben?

    danke

    r0cc

  • Wo genau ist denn dein Problem? :)
    Primzahl ist jede natürliche Zahl > 1 die nur durch sich und durch
    eins teilbar ist. So fällt schon alles was durch 2 teilbar ist weg.
    Primzahlermittlung ist natürlich recht rechenintensiv.
    Deshalb solltest du versuchen dein Programm möglichst performant zu gestalten.
    Die Funktion sqrt() zum ziehen von Quardratwurzeln könnte für dich auch interessant sein:
    http://de.selfhtml.org/javascript/objekte/math.htm#sqrt
    Evtl. auch das Heron-Verfahren.
    http://www.arndt-bruenner.de/mathe/scripts/heronframe.htm

    Kannst ja mal ausprobieren was schneller läuft.

    Für die Ausgabe solltest du dir die Funktion document.write anschauen.

  • also die funktion für die primzahl-ermittlung habe ich eigentlich...mir gehts im besonderen um den teil, wo bist zur 100. primzahl gezählt wird und natürlich ist mir das eintragen in die html-tabelle nicht klar.

    könnt ihr mir helfen?

    g
    r0cc

  • Zur Kontrolle -.-
    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
    211
    223
    227
    229
    233
    239
    241
    251
    257
    263
    269
    271
    277
    281
    283
    293
    307
    311
    313
    317
    331
    337
    347
    349
    353
    359
    367
    373
    379
    383
    389
    397
    401
    409
    419
    421
    431
    433
    439
    443
    449
    457
    461
    463
    467
    479
    487
    491
    499
    503
    509
    521
    523
    541
    547
    557
    563
    569
    571
    577
    587
    593
    599
    601
    607
    613
    617
    619
    631
    641
    643
    647
    653
    659
    661
    673
    677
    683
    691
    701
    709
    719
    727
    733
    739
    743
    751
    757
    761
    769
    773
    787
    797
    809
    811
    821
    823
    827
    829
    839
    853
    857
    859
    863
    877
    881
    883
    887
    907
    911
    919
    929
    937
    941
    947
    953
    967
    971
    977
    983
    991
    997

  • Du kannst die Ausgabe ja in zwei Schleifen machen:

    Zitat von Html-Neuling

    2,3,5,7,9,11,13,17,19,23,27,31,37
    jetzt wirds mir zu hart :lol:


    3 Fehler :/

  • wie bringe ich die Funktion isPrime mit dem anderen Code (siehe unten)zusammen? ich stehe total aufn schlauch!!!!
    help!

    danke r0cc

  • Mit der Funktion prüfst du ja nur ob eine Zahl eine Primzahl ist.
    Das könnte dann so aussehen:

    Mehr sag ich dir wenn ich noch mehr zeit habe. (falls überhaupt noch bedarf besteht)

  • danke für deine hilfe!
    aber wie änder ich den code um, damit die ersten hundert primzahlen ausgegeben werden (in eine tabelle)?

    dein beispiel hilft mir so auch nicht .

    g
    r0cc

  • Zitat

    Was heißt beispiel.
    Das wär ja dann schon die fertige Lösung. :/

    :wink:

    Zitat

    Deine JS-Funktion überprüft ja nur ob eine Zahl eine Primzahl ist.
    Und wenn die von dir ist dürfte das mit den ersten 100 Primzahlen auch
    kein Problem mehr sein.

    ich hab gegoogelt und hab leider immer nur einen Primzahlentest wie den von dir bekommen. mir fehlt die erfahrung und der blick wie man zB die Funktion isPrim () nach meinen vorgaben abändert...so bin ich hier gelandet...

    leider habe ich auch keine beispiele mit anderen funktionen gefunden, wo ich meine vorgaben drauf anwenden könnte...
    (die meisten handeln über eingabefelder...nicht um ganze bereiche).

    kannst du mir weitere tipps geben?

    g
    r0cc