Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Numere prime <=n
Last Updated: Aug 08 2014 10:49, Started by
Cantafford92
, Aug 08 2014 09:12
·
0
#1
Posted 08 August 2014 - 09:12
Salut,
Doresc sa scriu un program c++ care sa returneze toate numerele prime <=n unde n este dat de user(fara 2). Asta am scris: #include <iostream> using namespace std; int main() { int n,i,j; cout << "Baga numar: "; cin >> n; for(i=1; i<=n; i++) for(j=3; j<i/2; j++) { if(i%j!=0) cout << j; } } Sunt incepator deci nu imi dau seama ce am gresit. Ajutor, va rog. Multumesc! Edited by Cantafford92, 08 August 2014 - 09:25. |
#2
Posted 08 August 2014 - 09:19
de ce testezi incepand cu 3 ?
si revezi ce inseamna un numar prim. Un numar e prim daca are DOAR 2 divizori, pe 1 si pe el insusi. |
#3
Posted 08 August 2014 - 09:23
yonut_a, on 08 august 2014 - 09:19, said:
de ce testezi incepand cu 3 ? si revezi ce inseamna un numar prim. Un numar e prim daca are DOAR 2 divizori, pe 1 si pe el insusi. Ce este gresit aici? for(j=3; j<i/2; j++) { if(i%j!=0) cout << j; }Daca j pleaca de la 3 pana la i/2, atunci cand i nu se imparte exact la j niciodata, nu ar trebui ca j sa fie numar prim? Edited by Cantafford92, 08 August 2014 - 09:24. |
#4
Posted 08 August 2014 - 09:29
Cantafford92, on 08 august 2014 - 09:23, said:
Am testat incepand cu 3 pentru ca am vrut sa afisez toate numerele prime mai mari ca 1, fara numarul 2. Asta ai vrut, doar ca ai tu iei divizorii incepand cu 3 nu numerele. Cantafford92, on 08 august 2014 - 09:23, said:
Daca j pleaca de la 3 pana la i/2, atunci cand i nu se imparte exact la j niciodata, nu ar trebui ca j sa fie numar prim? Corect, daca nu se imparte NICIODATA exact la j , doar ca tu afisezi daca nu se imparte CEL PUTIN ODATA la j. |
#5
Posted 08 August 2014 - 09:39
yonut_a, on 08 august 2014 - 09:29, said:
Corect, daca nu se imparte NICIODATA exact la j , doar ca tu afisezi daca nu se imparte CEL PUTIN ODATA la j. #include <iostream> using namespace std; int main() { int n,i,j,prim=1; cout << "Baga numar: "; cin >> n; for(i=3; i<=n; i++) for(j=1; j<i/2; j++) { if(i%j==0) prim=0; } for(j=1; j<i/2; j++) { if(prim==1) cout << j; } }Nu stiu cum sa testez conditia spusa de tine pentru fiecare numar in parte |
#6
Posted 08 August 2014 - 09:52
Poti incerca asa ceva in bucla for:
int ok = false; for ( int j = 2; j < i / 2; ++j ) if ( i % j == 0 ) ok = true; if ( ok ) cout << i << ' '; Desigur ca exista algoritmi mai buni pentru determinarea numerelor prime. Ai invatat functiile? Edited by Redount2k9, 08 August 2014 - 09:54. |
#7
Posted 08 August 2014 - 09:54
...si iti va zice ca nici un numar nu e prim pentru ca toate se impart la 1.
|
#8
Posted 08 August 2014 - 09:57
Redount2k9, on 08 august 2014 - 09:52, said:
Poti incerca asa ceva in bucla for: int ok = false; for ( int j = 2; j < i / 2; ++j ) if ( i % j == 0 ) ok = true; if ( ok ) cout << i << ' '; Desigur ca exista algoritmi mai buni pentru determinarea numerelor prime. Ai invatat functiile? |
#9
Posted 08 August 2014 - 10:00
Atunci iti dau o tema:
Incearca sa faci o functie (desigur, cat mai eficienta dpdv al complexitatii) care sa verifice daca parametrul sau este numar prim. Cand crezi ca ai gasit solutia optima, da-mi un mesaj. |
#10
Posted 08 August 2014 - 10:38
Cantafford92, on 08 august 2014 - 09:12, said:
Sunt incepator deci nu imi dau seama ce am gresit. Ajutor, va rog. Multumesc! [ https://www.youtube-nocookie.com/embed/eZUa5k_VIZg?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] vezi ca sunt destule explicatii despre numere prime pe aria asta de unde incepem, pana unde merge, si cum salvam da un search Edited by MarianG, 08 August 2014 - 10:55. |
|
#11
Posted 08 August 2014 - 10:49
cout << "Baga numar: "; cin >> n; int nrdiv=0; for(int i=3;i<n;i++) { nrdiv=0; for(int j=1;j<i;j++) { if(i%j==0) nrdiv++; } if(nrdiv<3) cout<<n<<" "; }cam asa ceva daca are mai putin de 3 divizori, atunci e prim si il afisezi Edited by opop, 08 August 2014 - 10:50. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users