desislava_topuzakova

03. Sum Prime Non Prime

Feb 14th, 2022
845
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     //повтарям: въвеждам входни данни
  8.     //входни данни: "stop" или число под формата на текст ("5")
  9.     //спирам: входни данни == "stop"
  10.     //продължавам: входни данни != "stop"
  11.     string input;
  12.     cin >> input;
  13.  
  14.     int sumPrime = 0; //сума на прости числа
  15.     int sumNonPrime = 0; //сума на съставни числа
  16.  
  17.     while (input != "stop")
  18.     {
  19.         //input -> число под формата на текст "5"
  20.         //преобразуване на текст ("5") в цяло число (5)
  21.         int number = stoi(input); //число, което трябва да проверя
  22.  
  23.        
  24.         if (number < 0)  //отрицателно
  25.         {
  26.             cout << "Number is negative." << endl;
  27.         }
  28.         else  //положително (>= 0)
  29.         {
  30.             //просто (2 делителя) или съставно (> 2 делителя)
  31.             //брой на делителите
  32.             int count = 0;
  33.             for (int diff = 1; diff <= number; diff++) //всички възможни делители: 1 до число
  34.             {
  35.                 if (number % diff == 0) {
  36.                     count++;
  37.                 }
  38.             }
  39.  
  40.             //знам бр. делителите
  41.             if (count == 2)
  42.             {
  43.                 //числото е просто
  44.                 sumPrime += number;
  45.             }
  46.             else
  47.             {
  48.                 //числото е съставно
  49.                 sumNonPrime += number;
  50.  
  51.             }
  52.  
  53.         }
  54.  
  55.         cin >> input;
  56.     }
  57.  
  58.     cout << "Sum of all prime numbers is: " << sumPrime << endl;
  59.     cout << "Sum of all non prime numbers is: " << sumNonPrime << endl;
  60.  
  61.  
  62.  
  63.  
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment