在线编程题:近乎完美"/>
今日学习在线编程题:近乎完美
题目来源:码蹄集
时间限制:1000ms
内存限制:65535kb
题目描述:如果一个数除了自身之外的所有因数之和等于自身,我们就把这种数叫做“完美数”。如果一个数除了自身之外的所有因数之和小于这个数,且两者之差是原数的一个因数,就将这个数称为“近乎完美的”。现在给你一个数,让你判断这个数是否是“近乎完美的”。
输入格式:一行,一个正整数 。
输出格式:一行,如果 n 是近乎完美的,输出 `YES`,否则输出 `NO`。
输入样例:136
输出样例:YES
备注:136 除了自身之外的所有因数之和为 134,两者之差 2 是 136 的一个因数。
参考程序:
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){ll n, sum = 0;cin >> n;for(int i = 1; i < n; ++i){if(n % i == 0) sum += i;}if(sum < n && n % (n - sum) == 0)cout << "YES" << endl;else cout << "NO" << endl;
}
更多推荐
今日学习在线编程题:近乎完美
发布评论