大佬,求助
  • 板块灌水区
  • 楼主zcx20242024
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/27 09:27
  • 上次更新2024/7/27 11:08:23
查看原帖
大佬,求助
1377954
zcx20242024楼主2024/7/27 09:27

题目描述 键盘输入N,N在2至2000之间,求2至N中的亲密数对,就是A的因子和等于B,B的因子和等于A,且A≠B。 如48和75是亲密数对。48的因子和为2+3+4+6+8+12+16+24=75,而75的因子和为3+5+15+25=48。

输入格式 只有一行,为一个整数N( 2<=N<=2000 )

输出格式 输出若干行,每行两个整数(用一个空格隔开)``` #include using namespace std; int jjy(int n) { int sum=0; for(int i=2;ii<=n;i++) { if(n%i==0) sum+=i+(n/i); if(ii==n) sum-=i; } return sum; } int main() { int n; scanf("%d",&n); for(int i=2;i<=n;i++) { int bz1,bz2; bz1=jjy(i); bz2=jjy(bz1); if(bz2==i&&bz1!=i) printf("%d %d\n",i,bz1); } return 0; }

2024/7/27 09:27
加载中...