Advertisement
BojidarDosev

Find the sum of non-prime divisors of a num between 2 and 2000

Nov 28th, 2023
692
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. //funkciq za namirane na broqt na delitelite
  5. int prime(int x)
  6. {
  7.     if (x <= 1)
  8.     {
  9.         return 1;  // Ne e prosto
  10.     }
  11.  
  12.     for (int i = 2; i < x; ++i)
  13.     {
  14.         if (x % i == 0)
  15.         {
  16.             return 1;  //Ne e prosto
  17.         }
  18.     }
  19.  
  20.     return 0;  // Prosto e
  21. }
  22.  
  23.  
  24. int br_deliteli(int n)
  25. {
  26.     int result = 0;
  27.     for (int i = 2; i < n; i++)
  28.     {
  29.         if (n % i == 0)
  30.         {
  31.             if (prime(i) == 1)
  32.             {
  33.  
  34.                 result = result + i;
  35.             }
  36.             //return i;
  37.  
  38.         }
  39.  
  40.     }
  41.     return result;
  42. }
  43.  
  44.  
  45. int main()
  46. {
  47.     //vuvejdane na chislo
  48.     int n;
  49.     cin >> n;
  50.     //proverka dali popada v intervala
  51.     if (n < 2 || n > 2000)
  52.     {
  53.         cout << "Invalid input data!";
  54.         return 0;
  55.     }
  56.     // cout << prime(n)<<"\n";
  57.     cout << br_deliteli(n);
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement