解题思路:
注意事项:
参考代码:
#include<stdio.h> #include<math.h> void m(int a) { int b=1; for(int i=2;i<=sqrt(a);i++)//这里从2开始是防止从1开始时,加上了自身 { if(a%i==0) b=b+i+a/i; } int sum=1; if(b>a) { for(int i=2;i<=sqrt(b);i++) { if(b%i==0) sum=sum+i+b/i; } if(sum==a) printf("(%d,%d)",a,b); } } int main() { for(int i=2;i<=3000;i++) { m(i); } return 0; }
0.0分
0 人评分
产生数 (C++代码)(大数乘法也是可以避免的么hhhh)浏览:1591 |
整人!!浏览:908 |
回文数字 (C++代码)浏览:890 |
简单编码 (C++代码)(这里推荐用switch)浏览:999 |
C语言训练-字符串正反连接 (C语言代码)浏览:726 |
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:695 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:502 |
printf基础练习2 (C语言代码)浏览:321 |
拆分位数 (C语言代码)浏览:1361 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:573 |