Kezdőoldal » Számítástechnika » Programozás » C++ első 200 összetett szám...

C++ első 200 összetett szám kiírását hogy kell megvalósítani?

Figyelt kérdés
2016. jan. 12. 22:20
 1/6 A kérdező kommentje:

Ez jó?


int main ()

{

int oszto;

for (int i=1; i<=200; i++)

{

oszto=0;

for (int j=1; j<i; j++)

{

if (i%j==0)

{

oszto++;

if (oszto==2)

{

cout<<i<<" ";

}

}

}

}

2016. jan. 12. 22:29
 2/6 anonim ***** válasza:
Nem jó, mert nem az első 200-at írja ki, ráadásul borzasztóan nem is hatékony, mert egy tonna fölösleges számolást végez.
2016. jan. 12. 23:07
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

int numOfCompositeNumbers = 0;


for (int number = 4; numOfCompositeNumbers <= 200; number++)

{

for (int divider = 2; divider < number / 2 + 1; divider++)

{

if (number % divider == 0)

{

cout<<number<<" ";

numOfCompositeNumbers++;

break;

}

}

}

2016. jan. 12. 23:17
Hasznos számodra ez a válasz?
 4/6 SimkoL ***** válasza:

Picit felgyorsítva:


#include <cstdlib>

#include <iostream>

#include <math.h>


using namespace std;


int main()

{

int numOfCompositeNumbers = 0;

for (int number = 4; numOfCompositeNumbers <= 200; number++)

{

if (number % 2 == 0)

{

cout << number << " ";

numOfCompositeNumbers++;}

else

for (int divider = 3; divider < sqrt(number) + 1; divider +=2)

{

if (number % divider == 0)

{

cout << number << " ";

numOfCompositeNumbers++;

break;

}

}

}

system("PAUSE");

return 0;

}

2016. jan. 13. 00:19
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Ha van kéznél olyan lib/framework, ami egy adott számról megmondja neked, hogy prím-e, avagy sem, akkor nyert ügyed van: Számolod, hányat írtál ki, a prímeket pedig átugrod (while ciklus, btw).

Csalásnak tűnhet, de a midnennapokban is "csalunk", különben soha nem készülnénk el semmivel.


C++ alá sajnos nem tudok hirtelen ilyet, de csak elbújt egy valahol, hiszen nem vagyunk mi olyan marhák, hogy százan, ezerszer megírjuk ugyanazt újra és újra. :)


Tanulási célból talán az volna a legjobb, ha mindkét irányt megközelítenéd:


A másik esetben is kvázi azt vizsgálod, hogy prím számmal van-e dolgod, azonban itt az egyes számokról saját kóddal döntöd el, hogy prímek-e (nem túl meglepő módon ezt prímtesztnek nevezik).

Ekkor vizsgálhatod például a többiek által már említett belső ciklussal (ha találsz osztót, kiírod a számot, és ugrasz a következőre).

2016. jan. 17. 19:54
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
2016. jan. 17. 20:02
Hasznos számodra ez a válasz?

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!