Informatică, întrebare adresată de DlakWanted, 9 ani în urmă

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 antonii
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;
        }
}

DlakWanted: la nivel de clasa a9-a sem 1 poti sa-mi faci?mersi
antonii: //includes si restul...
antonii: //includes si restul-->Copiaza tot de la "###" incolo ### bool CheckPrime(int Nr); int main(){ for(int x=2;x<=10;x++) if(CheckPrime(x)) cout<<x<<endl; }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: nu am invatat bool
antonii: Atunci invata TU inainte.Ce daca nu s-a inventat telefonul nimeni sa nu se deranjeze sa-l faca.nu?
Alte întrebări interesante