Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- #include <cstdio>
- #include <vector>
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int calcSumOfProperDivisors(int num)
- {
- int sum = 1;
- for (int i = 2; i * i <= num; ++i)
- {
- if (num % i == 0)
- {
- sum += i;
- sum += (num / i != i) ? num / i : 0;
- }
- }
- return sum;
- }
- bool isAbundantNumber(int num)
- {
- return (num < calcSumOfProperDivisors(num));
- }
- bool isSumOfAbundantNumbers(int num)
- {
- if (num < 24)
- return false;
- if (num > 28123)
- return true;
- for (int i = 12, size = (num / 2) + 1; i < size; ++i)
- {
- if (!isAbundantNumber(i))
- continue;
- if (isAbundantNumber(num - i))
- return true;
- }
- return false;
- }
- int main()
- {
- int t, n;
- cin >> t;
- while (t--)
- {
- cin >> n;
- if (isSumOfAbundantNumbers(n))
- cout << "YES" << endl;
- else
- cout << "NO" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement