Kezdőoldal » Számítástechnika » Programozás » Hogy kell C++ ban hogy írja...

Hogy kell C++ ban hogy írja ki A-tól B-ig a primszámokat?

Figyelt kérdés

#include <iostream>

using namespace std;

int main()

{int a, b, n, i , db;

cout<<"a = "; cin>>a;

cout<<"b = "; cin>>b;

for(n=a; n<=b; n=n+1)

db=0;

for(i=1; i<=n; i=i+1

if(n%i==0)

{ db=db+1;

}

if(db==2) cout<<n<<" ";

else cout<<"";

}



...idáig jutottam, hol hibáztam?



#C++ #prímszám #a-tól #b-ig
2013. okt. 30. 08:44
1 2
 1/11 anonim ***** válasza:

int main()

{

cout<<"a = "; cin>>a;

cout<<"b = "; cin>>b;

for(int i = a; i <= b; ++i)

if(prim(i))

cout << i << " ";


}

....

Ez előtt meg megírod a:

bool prim(int n)

{

...

}

algoritmust, ahol n-ről akarod kideríteni, hogy n prím vagy nem.

2013. okt. 30. 08:51
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

Tartsd figyelemben azt, hogy a ciklus változót i-vel szokták jelölni, ha több ciklus is van egymásban ágyazva, akkor i1, i2,...,in vagy i, j, k, l, v -vel.

...

C++-ban már lehet a ciklus törzsében is változódeklaráció.

Pl.

for(int i = 0; i < n; ++i)

..--..^..

...

2013. okt. 30. 08:58
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:

Oszt mi a hiba?

A logikája jónak tűnik, persze csúnya, mint az állat, illetve ahogy ide másoltad szintaktikai hiba is van benne.

2013. okt. 30. 09:16
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:

a prim() pedig lehet egy ciklus, ahol 2-től a szám gyökéig mész (i*i<=szam), a főprogramban lépkedhetsz kettesével


(pluszpont a kérdezőnek, végre valaki, aki normálisan kért segítséget..)

2013. okt. 30. 09:31
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

Végül sikerült megoldani a következőképpen:


#include <iostream>

using namespace std;

int main ()

{int a, b;

cout<<"a = "; cin>>a;

cout<<"b = "; cin>>b;

for (int n=a; n<=b; n++)

for (int i=2; i<n; i++)

{

if (n%i== 0)

break;

else if (n == i+1)

cout << n << " ";


}

return 0;

}

2013. okt. 30. 09:52
 6/11 anonim ***** válasza:

Kicsit gusztábban:

[link]

2013. okt. 30. 09:58
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:
Hoppá, kihagytam a kettőt. :)
2013. okt. 30. 10:08
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

#6: Még finomíthatnál az algoritmusodon, nekem 0-tól 100-ig ezt hozta ki...

2 3 5 7 9 11 13 17 19 23 25 29 31 37 41 43 47 49 53 59 61 67 71 73 79 83 89 97

2013. okt. 30. 17:13
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Ez érdekes... Nekem mintha jó lett volna, ránézek otthon majd.
2013. okt. 30. 17:24
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:
Ja igen, < helyett <= kell a for ciklusban, az sqrt-nél.
2013. okt. 30. 17:34
Hasznos számodra ez a válasz?
1 2

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

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!