Advertisement
k0ske

red green

Nov 5th, 2022
1,222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int sumDigits(int number) {
  4.     if (number < 0) {
  5.         return 0;
  6.     }
  7.     int result = 0;
  8.     while (number > 0) {
  9.         result += number % 10;
  10.         number /= 10;
  11.     }
  12.     return result;
  13. }
  14.  
  15. bool isDigitRed(int number) {
  16.     int fixedNumber = sumDigits(number);
  17.     for (int i = 0; i < number; i++) {
  18.         if (fixedNumber * i == number) {
  19.             return true;
  20.         }
  21.     }
  22.     return false;
  23. }
  24.  
  25. int power3(int number) {
  26.     return number * number * number;
  27. }
  28.  
  29. bool isDigitGreen(int number) {
  30.     int result = 0;
  31.     int inputNumber = number;
  32.     while (number > 0) {
  33.         result += power3(number % 10);
  34.         number /= 10;
  35.     }
  36.  
  37.    
  38.  
  39.     if (result == inputNumber) {
  40.         return true;
  41.     }
  42.     else {
  43.         return false;
  44.     }
  45.  
  46.     // "return result == inputNumber" is the same
  47. }
  48.  
  49. bool func(int start, int end) {
  50.     if (start > end) {
  51.         return false;
  52.     }
  53.  
  54.     for (start; start <= end; start++) {
  55.         if (isDigitGreen(start) || isDigitRed(start)) {
  56.             return true;
  57.         }
  58.     }
  59.     return false;
  60. }
  61.  
  62.  
  63.  
  64.  
  65.  
  66. int main()
  67. {
  68.     int start, end;
  69.     std::cin >> start;
  70.     std::cin >> end;
  71.     if (func(start, end)) {
  72.         std::cout << "YES\n";
  73.     }
  74.     else {
  75.         std::cout << "NO\n";
  76.     }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement