Nem bírom meglátni ebben a prímszám kiíró kódban azt, hogy hogyan is állapítja meg egy számról, hogy melyik prím és melyik nem, hogy értelmezzem? Hogy érthetném meg a logikai működését?
Huh, pedig már kezdtem izzadni. Ennyi nem írtam még pár sornyi kódról. :DD
De amúgy tényleg nem egyszerű, szóval nem primitívség kérdése a dolog. Sőt, ha próbálod megérteni, akkor már eleve nem vagy primitív. Igazából tök jó kérdés volt. :)
Egyébként ez a leggyorsabb módja a prímek ki íratásának?
:)
Túlvariálom?:
//main.cpp
#include <iostream>
#include <math.h>
int main()
{
int szam, gyok;
bool prime(true);
std::cin >> szam;
gyok = (int)sqrt(szam)+1;
if(szam%2!=0)
{
for(int j(3); j < gyok; j+=2)
if(szam%j == 0)
{
prime = false;
break;
}
}
else
prime = false;
if(prime == true || szam == 2)
std::cout << "Ez egy prim: " << szam;
return 0;
}
"Egyébként ez a leggyorsabb módja a prímek ki íratásának?"
Nem mindegy mit akarsz. Kiíratni a prímeket? Arra a szita az egyik legjobb módszer?
Eldönteni egy számról, hogy prím-e? Azt lehet bruteforceszal, ami biztos de tetű lassú, meg lehet különböző prímtesztekkel, amik nem biztosak, de gyorsak.
"int j(3)"
Ezt nem igazán értem, de ha "int j=3" akar lenni, akkor akár még működhet is így első ránézésre. Szerintem nem variáltad túl.
Olvasnivaló:
:)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!