_fux_
0
hi leute, hier mal mein (etwas schlecht programmierter) Primzahlengenerator.
ich brauchte sowas für eine übung und jetzt wollte ich das teil mal on stellen.
wie gesagt, wurde runtergecodet ohne jetzt drüber nachzudenken ob der code "schön" ist. ist leider auch etwas unkommentiert.
wenn bedarf besteht, kommtentier ich das teil vielleicht!. (vielleicht: weil ichs ggfs. neu progge und zwar etwas sauberer)
achso:
dieser code ist absolut nicht effizient ;-)
da kann selbst eine webseite die teile schneller berechnen *hihi*
ich brauchte sowas für eine übung und jetzt wollte ich das teil mal on stellen.
wie gesagt, wurde runtergecodet ohne jetzt drüber nachzudenken ob der code "schön" ist. ist leider auch etwas unkommentiert.
wenn bedarf besteht, kommtentier ich das teil vielleicht!. (vielleicht: weil ichs ggfs. neu progge und zwar etwas sauberer)
achso:
dieser code ist absolut nicht effizient ;-)
da kann selbst eine webseite die teile schneller berechnen *hihi*
Code:
// primzahlen generator
// der code ist nicht der beste,
// habs einfach "schnell" mal gecoded.
#include <math.h>
#include <iostream>
#include <vector>
#include <time.h>
using namespace std;
void primzahl(int max);
int main(){
int max;
cout << "Wieviele Primzahlen?\n";
cin >> max;
cout << "Primzahlen werden generiert\n";
primzahl(max);
return 0;
}
void primzahl(int max){
clock_t end, start;
start = clock();
double diff;
vector<int> primVec;
double checkMod1, checkMod2, checkMod3, doubleLast;
int pZahl = 6;
int selfZahl, intLast;
int k = 0;
primVec.push_back(2); primVec.push_back(3); primVec.push_back(5);
max -= 4;
do{
pZahl++;
checkMod1 = pZahl % 2;
checkMod2 = pZahl % 3;
checkMod3 = pZahl % 5;
if(checkMod1 == 0 || checkMod2 == 0 || checkMod3 == 0);
else { // ELSE 1
if(k=-1) k = 0;
while(k!=primVec.size())
{
selfZahl = primVec.at(k);
doubleLast = (double)pZahl/(double)selfZahl;
intLast = pZahl/selfZahl;
selfZahl *= selfZahl;
if(selfZahl == pZahl || doubleLast==intLast){
k = -1;
break;
}
k++;
}
if(k!=-1){
primVec.push_back(pZahl);
max--;
}
} // ende ELSE 1
} // ende do
while(max>=0);
end = clock();
for(unsigned int i=0;i<primVec.size();i++){
cout << primVec.at(i) << " ";
}
cout << endl;
diff = ((double)(end-start)/CLOCKS_PER_SEC);
cout << endl << "Zeit zum Berechnen: " << diff << " (in Sekunden)\n";
}