解题思路:数组能一次性Input完所有数据;函数能缩减代码长度。
注意事项:如果A or B的开根号是整数,则要注意别把根号值加了两次。
参考代码:
#include <stdio.h> #include <math.h> int Sumof(int m); int main(void) { int n,j; scanf("%d",&n); int a[n][2]; for(j=0;j<n;j++) scanf("%d %d",&a[j][0],&a[j][1]); for(j=0;j<n;j++) { if(Sumof(a[j][0])==a[j][1] && Sumof(a[j][1])==a[j][0]) printf("YES\n"); else printf("NO\n"); } } int Sumof(int m) { int i,sum; sum=1; for(i=2;i<sqrt(m);i++) { if(m%i==0) sum += i+m/i; } if(i==sqrt(m)) sum += i; return sum; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1175 |
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言程序设计教程(第三版)课后习题9.1 (Java代码)浏览:481 |
这可能是一个假的冒泡法浏览:1071 |
printf基础练习2 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:723 |
C语言训练-求PI* (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:866 |
愚蠢的摄影师 (C++代码)浏览:980 |
图形输出 (C语言代码)浏览:1019 |