Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet eldönteni egy...

Hogyan lehet eldönteni egy számról, hogy prim e?

Figyelt kérdés

C++-ban szeretném egy számról eldönteni, hogy prim szám e.

int prim,k, i;


cout<<"Adja meg a szamot"<<endl;

cin>> prim ;

for(i=2; i<=prim; i++)

if (prim%i==0)

k=k+1;



if (k=0) {

cout << "prim";

}

else {

cout << "nem prim";

}



}


return 0;

}


Minden számra azt írja, hogy nem prim


2018. ápr. 24. 10:25
1 2
 1/16 A kérdező kommentje:
próbáltam sqrt-el is, meg nullától indítva az i-t, de semmi
2018. ápr. 24. 10:26
 2/16 anonim ***** válasza:

1. Saját magával minden szám osztható.

2. Nem inicializáltad k-t.

2018. ápr. 24. 10:30
Hasznos számodra ez a válasz?
 3/16 SimkoL ***** válasza:
80%
2018. ápr. 24. 10:33
Hasznos számodra ez a válasz?
 4/16 anonim ***** válasza:
Egyébként meg ez tipikusan az a probléma, ami debugolással 2 perc alatt megfejthető.
2018. ápr. 24. 10:37
Hasznos számodra ez a válasz?
 5/16 A kérdező kommentje:
nem megy a debug
2018. ápr. 24. 10:55
 6/16 A kérdező kommentje:
szóval mit csináljak a k-val?
2018. ápr. 24. 10:56
 7/16 SimkoL ***** válasza:

int prim,k = 0, i;

...

for(i = 2; i < prim; i++)

...

2018. ápr. 24. 10:58
Hasznos számodra ez a válasz?
 8/16 anonim ***** válasza:

Itt a probléma:

i<=prim

Azaz magáig a számig mégy, önmagával pedig minden szám osztható, tehát nyilván nem jó így az algoritmus.


bool isPrime(int n) {

if(n<=1) return false;

if(n==2) return true;

if(n % 2 == 0) return false;

for(int i=3;i*i<=n;i+=2) if(n % i == 0) return false;

return true;

}

2018. ápr. 24. 11:02
Hasznos számodra ez a válasz?
 9/16 A kérdező kommentje:

Sajnos így sem megy


int prim,k=0,i;


cout<<"Adja meg a szamot"<<endl;

cin>> prim ;

for(i=2; i<prim; i++)

if (prim%i==0)

k=k+1;



if (k=0) {

cout << "prim";

}

else {

cout << "nem prim";

}

2018. ápr. 24. 11:03
 10/16 SimkoL ***** válasza:
94%
if (k==0)
2018. ápr. 24. 11:03
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!