Advertisement
STANAANDREY

PROIECT INFO 12/12/2019

Dec 12th, 2019
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. int v[1000000], n;
  6. int nrprime, nrperf, nrpal;
  7.  
  8. void citire()
  9. {
  10.     cout << "n=";
  11.     cin >> n;
  12.     for (int i = 0; i < n; i++)
  13.     {
  14.         cout << "v[" << i << "]=";
  15.         cin >> v[i];
  16.     }
  17. }
  18.  
  19. int ePrim(int x)
  20. {
  21.     if ((x % 2 == 0 && x != 2 && x != -2) || x == 1)
  22.         return 0;
  23.  
  24.     for (int d = 3; d * d <= x; d += 2)
  25.         if (x % d == 0)
  26.             return 0;
  27.     return 1;
  28. }
  29.  
  30. int ePerf(int x)
  31. {
  32.     int s = 1;
  33.     for (int d = 2; d * d <= x; d++)
  34.     {
  35.         if (x % d == 0)
  36.         {
  37.             s += d;
  38.             if (d != (x / d))
  39.                 s += x / d;
  40.         }
  41.     }
  42.  
  43.     if (x == s)
  44.         return 1;
  45.     return 0;
  46. }
  47.  
  48. int ogl(int x)
  49. {
  50.     int inv = 0;
  51.     do
  52.     {
  53.         inv = inv * 10 + x % 10;
  54.         x /= 10;
  55.     }
  56.     while (x);
  57.  
  58.     return inv;
  59. }
  60.  
  61. int ePal(int x)
  62. {
  63.     int inv = ogl(x);
  64.     if (x == inv)
  65.         return 1;
  66.     return 0;
  67. }
  68.  
  69. int sumcif(int x)
  70. {
  71.     int s = 0;
  72.     do
  73.     {
  74.         s += (x % 10);
  75.         x /= 10;
  76.     }
  77.     while (x);
  78.  
  79.     s = abs(s);
  80.     return s;
  81. }
  82.  
  83. int main()
  84. {
  85.     citire();
  86.  
  87.     for (int i = 0; i < n; i++)
  88.         if (ePrim(v[i]))
  89.             nrprime++;
  90.     cout << "numar numere prime: " << nrprime << endl;
  91.  
  92.     for (int i = 0; i < n; i++)
  93.         if (ePerf(v[i]))
  94.             nrperf++;
  95.     cout << "numar numere perfecte: " << nrperf << endl;
  96.  
  97.     cout << "oglindite: " << endl;
  98.     for (int i = 0; i < n; i++)
  99.         cout << "oglinditul lui " << v[i] << " este: " << ogl(v[i]) << endl;
  100.  
  101.     for (int i = 0; i < n; i++)
  102.         if (ePal(v[i]))
  103.             nrpal++;
  104.     cout << "numar palindroame: " << nrpal << endl;
  105.  
  106.     cout << "suma cifrelor numerelor: " << endl;
  107.     for (int i = 0; i < n; i++)
  108.         cout << "suma cifrelor lui " << v[i] << " este: " << sumcif(v[i]) << endl;
  109.  
  110.     return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement