题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040
//C++代码
#include<iostream>
using namespace std;
int main(){
int n,a,b,i,sum;
cin>>n;
while(n--){
cin>>a>>b;
sum=1;
for(i=2;i*i<=a;i++){
if(a%i==0){
sum+=i;
if(i*i!=a) sum+=a/i;
}
}
if(sum==b) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
本文提供了一道来自HDU在线评测系统的题目2040的解题思路及C++代码实现。该题通过判断一个数的所有真因数之和是否等于另一个给定数来解决。代码中使用了循环遍历的方式找到所有真因数并求和。
1707

被折叠的 条评论
为什么被折叠?



