Beste wiskundige onder ons,
Ik ben sinds het nieuws over de 44ste mersenne priem "gefascineerd" over wiskundig programmeren. Het enige wat mij zwaar in de weg ligt is dat ik pas op 4HAVO zit, en dus nog geen bal over belangrijke dingen heb geleerd (zoals priemgetallen zelf, en modulo rekenen). Ook helpt het niet zo zeer mee dat ik nu probeer een mersenne-priem checker te maken (en begrijpen hoe) onder C++, waar ik pas een paar dagen geleden serieus mee begonnen ben. ik heb nu wat rond gekeken onder andere talen die ik wel snap, en heb op zo een goede procedure gevonden om priem-getallen te checken. die heb ik, door middel van trial&error, en nog belangrijker: tutorials en function-documentation, vertaald naar een C++ console application.
Hier is de source-code:
Dit opzich is nog niet te moeilijk, maar ik kan maar niet snappen hoe je een mersenne-priem herkent! Dus eerst wil ik jullie vragen hoe je dat nou helemaal checkt (wikipedia helpt me daar ook niet egt bij) en als ik er dan nog niet uitkom, weet ik in ieder geval waar ik naar toe moet gaan voor degelijke hulp
Alvast bedankt!
Ik ben sinds het nieuws over de 44ste mersenne priem "gefascineerd" over wiskundig programmeren. Het enige wat mij zwaar in de weg ligt is dat ik pas op 4HAVO zit, en dus nog geen bal over belangrijke dingen heb geleerd (zoals priemgetallen zelf, en modulo rekenen). Ook helpt het niet zo zeer mee dat ik nu probeer een mersenne-priem checker te maken (en begrijpen hoe) onder C++, waar ik pas een paar dagen geleden serieus mee begonnen ben. ik heb nu wat rond gekeken onder andere talen die ik wel snap, en heb op zo een goede procedure gevonden om priem-getallen te checken. die heb ik, door middel van trial&error, en nog belangrijker: tutorials en function-documentation, vertaald naar een C++ console application.
Hier is de source-code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| # include <cmath>
# include <iostream>
using namespace std;
void priemcheck(long double);
int main()
{
long double tot = 0;
cout<<" tot: ";
cin>> tot;
cout<<"\n priemgetallen tot "<<tot<< ",";
priemcheck(tot);
return 0;
}
void priemcheck(long double tot)
{
int vanaf;
cout<<" vanaf: ";
cin>> vanaf;
bool priem = true;
int nummer;
nummer =(int) floor (sqrt (tot));
for ( ; vanaf <= tot; vanaf++)
{
for ( int check = 2; check <= nummer; check++)
{
if ( vanaf!=check && vanaf % check == 0 )
{
priem = false;
break;
}
}
if (priem)
{
cout <<"\n"<<vanaf<<" ";
}
priem = true;
}
cout << "\n";
system("pause");
} |
Dit opzich is nog niet te moeilijk, maar ik kan maar niet snappen hoe je een mersenne-priem herkent! Dus eerst wil ik jullie vragen hoe je dat nou helemaal checkt (wikipedia helpt me daar ook niet egt bij) en als ik er dan nog niet uitkom, weet ik in ieder geval waar ik naar toe moet gaan voor degelijke hulp
Alvast bedankt!
IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;