Primzahl errechnen


Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Primzahl errechnen

    Kann mir einer einen Script scheiben oder sagen wie es geht?

    Ich möchte folgendes haben:
    Ein Eingabefeld und einen Button.
    In das Eingabefeld gibt man eine beliebige Zahl ein.

    Und wenn man auf den Button klickt, soll der von mir aus in einem 2. Feld die nächst höhere Primzahl angeben.

    Die sollte vor alle mit sehr hohen Zahlen gehen. Also ohne viel Rechenaufwand!
  • wieso denn Datenbank? man muss doch nur überprüfen ob die Zahl durch 2,3,5 oder 7 teilbar ist...

    Jede Zahl die eine Primzahl ist lässt sich nur durch sich selbst und eins teilen.

    Bevor die Frage kommt warum man nicht durch acht teilen muss:

    Jede Zahl die durch acht teilbar ist ist auch durch vier teilbar. Also fällt die acht raus. Hoffe ich konnte mich klar ausdrücken und meine Erinnerungen an den Mathe LK lassen mich nicht im Stich :D

    Soviel zum mathematischen Teil.
    Programmiertechnisch hab ich wenig Ahnung.

    Aber so könnte es doch aussehen:


    Wenn eingegebene Zahl teilbar / 2 ist Element von "Natürliche Zahlen" dann gebe aus "Keine Primzahl" sonst nächste zeile
    Wenn eingegebene Zahl teilbar / 3 ist Element von "Natürliche Zahlen" dann gebe aus "Keine Primzahl" sonst nächste zeile

    usw....

    Lol komischer Beitrag... vielleicht sagste noch welche Programmiersprache, für ne Internetseite bietet sich wahrscheinlich Java an.
    Hoffe das stimmt alles, sonst lasse ich mich gerne korriegiern.

    ///EDIT sehe grade in welchem Forum ich mich befinde...dann lag ich ja garnicht so schlecht.
    Wenn du willst und es dringend brauchst mache ich das für dich, ist auch ne gute Gelegenheit Java zu lernen

    Gruss M.

    <EDIT>
    Ich schon wieder....

    Inwieweit ich richtig lag, keine Ahnung. Habe das hier gefunden habe aber auch da keine Ahnung wie es funktioniert, aber es funktioniert :D

    HTML-Quellcode

    1. <html>
    2. <head>
    3. <title>Primzahlen-Test mit JavaScript</title>
    4. <script language="JavaScript">
    5. var i, j, n, nPrime, xPrime, p=new Array(), x;
    6. p[0] = 2;
    7. function init() {
    8. x = document.primeform.primeinput.value;
    9. if(x>4503599627370496)
    10. alert("Zahl ist zu groß ! \nMaximum: \n4.503.599.627.370.496");
    11. else if(x<2 || x%1!=0) alert(x+" ist keine Primzahl !");
    12. else if(x%2==0 && x!=2) alert(x+" =\n"+2+" * "+x/2);
    13. else isPrime(x);
    14. }
    15. function isPrime(x) {
    16. xPrime=true, j=0, n=3;
    17. while(n*n<=x) {
    18. i=0, nPrime=true;
    19. while(p[i]*p[i]<=n) {
    20. if(n%p[i]==0) {
    21. nPrime = false;
    22. break;
    23. }
    24. i++;
    25. }
    26. if(nPrime) {
    27. if(x%n==0) {
    28. alert(x+" =\n"+n+" * "+x/n);
    29. xPrime = false;
    30. break;
    31. }
    32. p[j]=n;
    33. j++;
    34. }
    35. n+=2;
    36. }
    37. if(xPrime) alert(x+"\nist eine Primzahl !");
    38. }
    39. </script>
    40. </head>
    41. <body onload="document.primeform.primeinput.focus()">
    42. <form name="primeform" action="javascript:init()">
    43. <p>
    44. <input name="primeinput">
    45. <input type="button" value="Prüfen" onclick="init()">
    46. </p>
    47. </form>
    48. </body>
    49. </html>
    Alles anzeigen
    [SIZE="2"]o_O[/SIZE]
  • 1.) Dein Script entspricht nicht dem, was ich eigentlich haben wollte! (Der sollte mir die nächst höhere Primzahl geben und nicht sagen OB es eine Primzahl ist) und
    2.) Ist es leider sowieso zu spät. Der "Wettbewerb war letzten Freitag und ich habe es doch noch selbst hinbekommen und die Schokolade gewonnen! :D

    Trotzdem vielen vielen Dank an alle!!!!!!!!
  • ähm des dass du nur durch 2,3,5,7 ist eben leider nicht ganz richtig du musst jede primzahl aufführen die bis zur gesuchten zahl vorkommt und das können einige werden wenn man zb. mal 1111 nimmt.

    Außerdem es gibt programme die des errechnen können und die höchste primzahl die bis jetzt je errechnet worden ist liegt im 9-stelligen bereich "nur".

    greetz friezy
  • 1.) Du musst nicht alle Primzahlen bis zur eingegebenen Zahl nehmen, sondern nur bis zur Wurzel aus der Primzahl!

    2.) Die höchste Primzahl die im Moment bekannt ist liegt weit aus höher, als im 9-stelligem Bereich!!! Mit meinem Programm kam ich ja "schon" bis in den 13-stelligen Bereich!

    Siehe dazu hier: Höchste Primzahl
    (€dit: Wobei das glaube ich nicht sehr aktuell ist! ;) )