Advertisement
Leonard_M

randomProblem

Feb 18th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void citireSir(int n, int sir[]){
  6.     for(int i=0; i<n; i++)
  7.         cin>>sir[i];
  8. }
  9.  
  10. void afisareSir(int n, int sir[]){
  11.     for(int i=0; i<n; i++)
  12.         cout<<sir[i]<<" ";
  13.     cout<<endl;
  14. }
  15.  
  16. bool prim(int nr){
  17.     //cazurile particulare pt numere prime
  18.     if(nr<2)
  19.         return false;
  20.     if(nr==2)
  21.         return true;
  22.     if(nr%2==0)
  23.         return false;
  24.  
  25.     //cautam divizorii, daca gasim unul, returnam false ca nu e prim
  26.     for(int i=2; i<=nr/2; i++)
  27.         if(nr%i==0)
  28.             return false;
  29.     return true;
  30. }
  31.  
  32. int aflarePrimulNumarPrim(int n, int sir[]){
  33.     //returneaza indexul primului numar prim din sir, INDEXARE DE LA 0!!!
  34.     for(int i=0; i<n; i++)
  35.         if(prim(sir[i]))
  36.             return i;
  37.     return -1;
  38. }
  39.  
  40. int numarDe3(int nr){
  41.     //returneaza suma tuturor cifrelor de 3 dintr-un numar 'nr' dat ca si parametru
  42.     int ultimaCifra;
  43.     int contor = 0;
  44.     while(nr){
  45.         ultimaCifra = nr%10;
  46.         if(ultimaCifra==3)
  47.             contor += 3;
  48.         nr/=10;
  49.     }
  50.     return contor;
  51. }
  52.  
  53. int main()
  54. {
  55.     int n, sir[101], index=-2;
  56.  
  57.     //citire n si sir
  58.     cin>>n;
  59.     citireSir(n, sir);
  60.     //afisare sir
  61.     afisareSir(n, sir);
  62.  
  63.     index = aflarePrimulNumarPrim(n, sir);
  64.  
  65.     if(index==-1)
  66.         cout<<"nu exista numere prime in sir"<<endl;
  67.     else{
  68.         int suma = 0;
  69.         for(int i=0; i<n; i++)
  70.             suma += numarDe3(sir[i]);
  71.         cout<<suma;
  72.     }
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement