Informatică, întrebare adresată de sarahbratu, 8 ani în urmă

DAU COROANA! Se citeşte de la tastatură un şir de numere întregi mai mici decât 100, pana la citirea unui numar negativ. a) Să se afiseze suma elementelor pare citite ; b) Să se determine si sa se afiseze numărul elementelor prime citite;

Exemplu:

Date de intrare :

7 23 4 17 12 34 5 90 -5


Date de ieşire:

a) Suma elementelor pare este: 140

b) Sunt 4 numere prime

Răspunsuri la întrebare

Răspuns de andreidiaconescu18
1

#include <iostream>



using namespace std;



int main() {


   int suma=0;


   int prime =0;


   int n;


   while(1)


   {


       cout<<"n=";


       cin>>n;


       if(n<=0)


           break;


       if(n % 2 ==0)


           suma+=n;


       int k=0;


       for(int d=2; d<=n/2; d++)


           if(n % d ==0)


               k++;


       if(k==0 && n!=1)


           prime++;


   }


   cout<<"Suma elementelor pare este: "<<suma<<endl;


   cout<<"Sunt "<<prime<<" numere prime."<<endl;


   return 0;


}


boiustef: frumos cod, dar se pare ca numerele 1 introduse ca elemente ale sirului vor fi considerate ca prime....
boiustef: daca se va introduce 1 1 1 1 1 1 1 1 -5 atunci ce rezultat va da ???
andreidiaconescu18: am corectat
andreidiaconescu18: nu am mai verificat pentru n=1 ca l-am scris in graba
boiustef: ... se mai intampla ...
Răspuns de boiustef
0

#include <iostream>

using namespace std;

bool prim(int m)

{

   if (m==0 || m==1) return false;

   if (m==2) return true;

   if (m>2)

   {

       if (m%2==0) return false;

       else

       {

           for (int i=3; i*i<=m; ++i)

               if (m%i==0) return false;

       }

       return true;

   }

}

int main()

{

   int num, suma=0, prime=0;

   cout << "introdu numere intregi,   stop= introducere negativ \n";

   cin >> num;

   while (num>=0)

   {

       if (num%2==0) suma+=num;

       if (prim(num)) ++prime;

       cin >> num;

   }

   cout << "Suma elementelor pare este: " << suma << "\n";

   cout << "Sunt " << prime << " elemente prime";

   return 0;

}

Alte întrebări interesante