Primzahlenalgorithmus < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Hallo, ich erforsche Primzahlen bin aber nur Hobbymathematiker. Ich hab einen netten algorithmus gebastelt und frage mich ob er irgendwann im starken Gesetz der großen Zahlen endet oder ob er funktioniert. Ich lade das ganze mal als pdf hoch, das macht es mir einfacher das ganze zu erklären.
Dateianhänge: Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
|
|
|
|
bin zwar kein mathematiker, aber wenn es damit möglich wäre alle primzahlen zu berechnen hast du gerade das geschäft deines lebens verloren. primzahlenalgorithmen sind milliarden wert. man denke nur an die primzahlenverschlüsselung bei bankgeschäften etc ;)
lg
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 01:12 Do 28.02.2013 | Autor: | leduart |
Hallo
Primzahlen kann man dich sukzessive viel einfacher finden, eine leistung ist es nur in "kurzer" zeit eine vielstellige Zahl als Primzahl zu erkennen, oder sie in Fakoren zu zerlegen, falls diese groß sind also z.b nur aus 2 riesigen primzahlen als faktoren zusammengesetzt sind. was dein riesiger Rechenaufwand soll um die ersten paar zig millionen von p zu finden (erzeugen kann man sie nicht, da sie existieren, auch wenn du sie noch nicht gefunden hast.
Deine "Erzeugung kommt mir vor, wie jemand der pilze sucht, dabei einen komplizierten algorithmus findet, wie man durch den wald gehen muss und dabei Pilze "erzeugt"
Viele Leute finden Primzahlen faszinierend, da große auch nützlich sind, gibt es auch viele Verfahren, um sie zu finden, alle recht mühsam. vielleicht solltest du die erstmal studieren,
Gruss leduart
|
|
|
|
|
> Hallo
> Primzahlen kann man dich sukzessive viel einfacher finden,
> eine leistung ist es nur in "kurzer" zeit eine vielstellige
> Zahl als Primzahl zu erkennen, oder sie in Fakoren zu
> zerlegen, falls diese groß sind also z.b nur aus 2
> riesigen primzahlen als faktoren zusammengesetzt sind. was
> dein riesiger Rechenaufwand soll um die ersten paar zig
> millionen von p zu finden (erzeugen kann man sie nicht, da
> sie existieren, auch wenn du sie noch nicht gefunden hast.
> Deine "Erzeugung kommt mir vor, wie jemand der pilze
> sucht, dabei einen komplizierten algorithmus findet, wie
> man durch den wald gehen muss und dabei Pilze "erzeugt"
> Viele Leute finden Primzahlen faszinierend, da große auch
> nützlich sind, gibt es auch viele Verfahren, um sie zu
> finden, alle recht mühsam. vielleicht solltest du die
> erstmal studieren,
> Gruss leduart
Hallo leduart,
ok ist logisch das man nichts erzeugen kann was es immer gibt. Sagen wir einfach der Rechner teilt einer Variablen einen Wert zu. Nette Metapher mit den Pilzen. in Wahrheit was es aber anderst. Ich habe mir nämlich die Pilze angeschaut die auf dem Weg wachsen und eine Wegbeschreibung hinterlassen..
Ich habe auch ein Buch von Paulo Ribenboim und schaue mir auch an was die großen Köpfe so herausgefunden haben. Jedoch habe ich auch eigene Ideen und die teile ich nunmal gerne.
Ich denke nicht das das so schlecht ist eine Funktion zu teilen durch die Primzahlen erzeugt werden können. Auch wenns schnellere Verfahren gibt. Auserdem habe ich ja noch eine Paralelle zum Pascallsch´schen Quadrat mit aufgezeigt.
Gruß
René
|
|
|
|
|
Aufgabe | //Titel: Primzahlenalgorithmus
//Autor: Rene Peer
//Datum: 22.03.2013
#include<stdio.h>
#include<math.h>
main() {
int a=0; //zählvariable
unsigned long [mm] b=5;//H_n
[/mm]
unsigned long [mm] e=5;//Z_n
[/mm]
unsigned long [mm] f=0;//Omega_n
[/mm]
int d=0; // programm beenden
int c=0;// Schleifenwiderholungen
printf("Wieviel Zahlen sollen auf ihre Eigenschaft als Primzahl ueberprueft [mm] werden?\n\n");
[/mm]
scanf("%i", &c);
[mm] printf("\n\n");
[/mm]
while(a<c){
// [mm] printf("H_n=%d\n", [/mm] b); //Warum hägt sich [mm] H_n [/mm] bei 1431655765 auf?
// [mm] printf("Z_n=%d\n", [/mm] e);
f=b/e;
// [mm] printf("Omega_n=%d\n", [/mm] f);
{
if (b % e == 0)
printf("Primzahl [mm] p=%d\n\n", [/mm] e);
// else
// printf("Nicht-Primzahl [mm] !p=%d\n\n", [/mm] e);
}
b=b*4+1;
e=e+2;
a++;
}
[mm] printf("\n\n");
[/mm]
while(d!=1){
printf("Zum Beenden mit 1 [mm] bestaetigen\n");
[/mm]
scanf("%i", &d);
}
} |
Hat jemand eine Ahnung, warum sich das Programm bei [mm] H_n=1431655765 [/mm] aufhängt?
[mm] H_n [/mm] ist ja ein unsigned long und müsste doch mit Zahlen bis ca. 2^64 umgehen können?
|
|
|
|
|
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Hallo MechatronikTechniker,
> //Titel: Primzahlenalgorithmus
> //Autor: Rene Peer
> //Datum: 22.03.2013
> #include<stdio.h>
> #include<math.h>
> main() {
> int a=0; //zählvariable
> unsigned long [mm]b=5;//H_n[/mm]
> unsigned long [mm]e=5;//Z_n[/mm]
> unsigned long [mm]f=0;//Omega_n[/mm]
> int d=0; // programm beenden
> int c=0;// Schleifenwiderholungen
> printf("Wieviel Zahlen sollen auf ihre Eigenschaft als
> Primzahl ueberprueft [mm]werden?\n\n");[/mm]
> scanf("%i", &c);
> [mm]printf("\n\n");[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
> while(a<c){
> // [mm]printf("H_n=%d\n",[/mm] b); //Warum hägt sich [mm]H_n[/mm] bei
> 1431655765 auf?
> // [mm]printf("Z_n=%d\n",[/mm] e);
> f=b/e;
> // [mm]printf("Omega_n=%d\n",[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
f);
> {
> if (b % e == 0)
> printf("Primzahl [mm]p=%d\n\n",[/mm] e);
> // else
> // printf("Nicht-Primzahl [mm]!p=%d\n\n",[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
e);
> }
> b=b*4+1;
> e=e+2;
> a++;
> }
> [mm]printf("\n\n");[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
> while(d!=1){
> printf("Zum Beenden mit 1 [mm]bestaetigen\n");[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
> scanf("%i", &d);
> }
> }
> Hat jemand eine Ahnung, warum sich das Programm bei
> [mm]H_n=1431655765[/mm] aufhängt?
>
> [mm]H_n[/mm] ist ja ein unsigned long und müsste doch mit Zahlen
> bis ca. 2^64 umgehen können?
Der Werte Bereich von unsigned long int geht von 0 bis [mm]2^{32}-1[/mm]
Verwende also einen größeren Wertebereich z.B. unsigned long long int.
Dieser Bereich kann mit Zahlen bis [mm]2^{64}-1[/mm] umgehen.
Also Zahlen bis 18446744073709551615.
Gruss
MathePower
|
|
|
|