arsovski

check_prime_sum_digits_revert_number

Aug 29th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. Задача
  2. Да се намери сумата от квадратите на цифрите на числото 546810781. Да се напише функция с
  3. return тип bool, чрез която да се провери дали получената сума е просто число. В конзолата да се
  4. изведе сумата, 1 ако сумата е просто число или 0 ако не е, и цифрите на сумата в обратен ред.
  5. Изход: 256 0 652
  6.  
  7.  
  8.  
  9. #include<iostream>
  10. #include"square.h"
  11.  
  12. int count_sum_digits(long int number)
  13. {
  14.     int sum = 0;
  15.     while(number > 0)
  16.     {
  17.         sum += square(number % 10);
  18.         number /= 10;
  19.     }
  20.  
  21.     return sum;
  22. }
  23.  
  24. bool isPrime(int number)
  25. {
  26.     int counter = 0;
  27.     for(int i=1;i<=number/2;i++)
  28.     {  
  29.         if ( (number%i) == 0)
  30.             counter++;
  31.     }
  32.  
  33.     return (counter <= 2);
  34. }
  35.  
  36. int revert_digits(int number)
  37. {
  38.     int result = 0;
  39.     while(number > 0)
  40.     {
  41.         result *= 10;
  42.         result += number % 10;
  43.         number /= 10;
  44.     }
  45.  
  46.     return result;
  47. }
  48.  
  49. int main()
  50. {
  51.     long int number = 546810781;
  52.     int sum_of_digits = count_sum_digits(number);
  53.  
  54.     std::cout << sum_of_digits << " " << isPrime(sum_of_digits)
  55.               <<" "<< revert_digits(sum_of_digits);
  56.  
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment