Vreau sa afisem toate numerele prime intre 2 si 10.Ce este gresit in program de afiseaza doar 2?
#include
using namespace std;
int i,d,n;
int main()
{
d=0;
for(i=2;i<=10;i++)
{
for(n=1;n<=i;n++)
{
if(i%n==0)
d=d+1;
}
if(d==2)
cout<
}
return 0;
}
Răspunsuri la întrebare
Răspuns de
0
Cam..tot. In primul rand trebuia sa pui #include<iostream>. Apoi ..DESIGUR ca o sa-ti afiseze doar 2 ...doar ai pus (si citez) "if(d==2) cout<<" (dupa << cred ca era chiar 2...). Daca insa te-ai referit la faptul ca un nr. trebuie sa se imparta DOAR de 2 ori (adica la 1 si la el insusi) atunci la fel nu ti-at fi mers deoarece nu l-ai reinitializat pe d. La urmatoarele numerele (numite i) el iti va tot aduna in d(si acesta va ajunge pana la 100 chiar).
O sa-ti dau un sfat pentru algoritm(ce ai facut tu merge FOARTE greu).De asemenea ai grija ca 2 e un caz special. Tu ai luat fiecare nr. si l-ai impartit la TOATE numerele pana la el...nu e necesar. Poti sa imparti pana la radical din numarul tau i. De asemenea stii ca orice nr.par diferit de 2 NU e nr. prim.
Si atunci functia pe care am facut-o este aceasta:
bool CheckPrime(int Nr){
bool IsPrime=true;
if(Nr!=2){
if(Nr%2!=0){
for(int x=3;x<=sqrt((double)Nr);x+=2){
if(Nr%x==0) IsPrime=false;
}
return IsPrime;
}else{
return false;
}
}else{
return true;
}
}
O sa-ti dau un sfat pentru algoritm(ce ai facut tu merge FOARTE greu).De asemenea ai grija ca 2 e un caz special. Tu ai luat fiecare nr. si l-ai impartit la TOATE numerele pana la el...nu e necesar. Poti sa imparti pana la radical din numarul tau i. De asemenea stii ca orice nr.par diferit de 2 NU e nr. prim.
Si atunci functia pe care am facut-o este aceasta:
bool CheckPrime(int Nr){
bool IsPrime=true;
if(Nr!=2){
if(Nr%2!=0){
for(int x=3;x<=sqrt((double)Nr);x+=2){
if(Nr%x==0) IsPrime=false;
}
return IsPrime;
}else{
return false;
}
}else{
return true;
}
}
DlakWanted:
la nivel de clasa a9-a sem 1 poti sa-mi faci?mersi
Alte întrebări interesante
Franceza,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă