ToniDev

Produs = suma divizori * numar divizori

Nov 13th, 2023
626
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void sumAndCountDivisors(int n, int& sum, int& count)
  5. {
  6.     sum = 0;
  7.     count = 0;
  8.     for (int i = 1; i <= sqrt(n); i++)
  9.     {
  10.         if (n % i == 0)
  11.         {
  12.             sum += i;
  13.             count++;
  14.  
  15.             if (i != n / i)
  16.             {
  17.                 sum += n / i;
  18.                 count++;
  19.             }
  20.         }
  21.     }
  22. }
  23.  
  24. void showArray(unsigned int arr[], int n)
  25. {
  26.     for (int i = 0; i < n; i++)
  27.         cout << arr[i] << " ";
  28.     cout << endl;
  29. }
  30.  
  31.  
  32. int main()
  33. {
  34.  
  35.     unsigned int numbers[10];
  36.  
  37.     int n;
  38.     cout << "Enter n (max. 10): "; cin >> n;
  39.  
  40.     for (int i = 0; i < n; i++)
  41.     {
  42.         cout <<"[" << i + 1 << "] Enter number: "; cin >> numbers[i];
  43.     }
  44.  
  45.     cout << "Afisare vector: ";
  46.     showArray(numbers, n);
  47.  
  48.     int divSum, divCount;
  49.  
  50.     for (int i = 0; i < n; i++)
  51.     {
  52.         sumAndCountDivisors(numbers[i], divSum, divCount);
  53.         numbers[i] = divSum * divCount;
  54.     }
  55.  
  56.     cout << "Afisare vector: ";
  57.     showArray(numbers, n);
  58.  
  59.  
  60.     cout << "\nAfisare vector invers: ";
  61.     for (int i = n-1; i >= 0; i--)
  62.     {
  63.         cout << numbers[i] << " ";
  64.     }
  65.  
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment