Milyen feltétel van arra, hogy ki írassam a a prímeket mondjuk százig?
Nem tudom rá kitalálni a logikát.
Mit írjak az if() be?
std::cout << " 2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97\n";
Nem kell if. De ha lusta vagy guglizni, tessék, itt egy link, hogy miért is hülyeség a kérdés: [link]
Nem tudod egyszerűen egy feltétellel eldönteni egy számról, hogy prím-e.
iostream: :D :D :D :D :D :D nagyon jó válasz, 100% hasznos!
Az a primszám, aminek pontosan 2 db osztója van: az 1 és emellett önmaga. (Ezért az 1 pl. nem primszám.)
Ezt úgy tudod tesztelni, hogy megnézed a szám gyökéig (beleértve a gyökét is, ha egész) az összes egész számot, ami nagyobb v egyenlő, mint 2, hogy osztja-e.
Ha osztja, akkor nem primszám.
Ezt egy ciklussal tudod tesztelni, de leginkább 2, egymásba ágyazott ciklussal.
C#:
var MAX = 100;
for (int szam = 1 ; szam <= MAX; szam++)
{
var gyok = (int)Math.Floor(Math.Sqrt(szam));
var prim = true;
for (int oszto=2; oszto <= gyok; oszto++)
if (szam % oszto == 0)
{
prim = false;
break;
}
if(prim)
System.Console.WriteLine(szam);
}
Nem tudom mi az a gyök.
Ez túl bonyolult.
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!