解题思路:数组标记解决重复问题。
参考代码:
#include<iostream> using namespace std; int book[3001]; int main() { int i, j; int a, b, c; for (i = 2; i <= 3000; i++) { int count = 0,sum=0; for (j =i/2; j >= 1; j--) { if (i%j == 0) count += j; } for (int z =count/2; z >= 1; z--) { if (count%z == 0) sum += z; } if (sum == i && count != i && book[i] == 0 && book[count] == 0) { cout << "(" << i << "," << count << ")"; book[i] = 1; book[count] = 1; } } return 0; }
0.0分
0 人评分
局部变量作函数返回值的问题浏览:1028 |
时间转换 (C语言代码)浏览:697 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:669 |
快速排序算法1浏览:996 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:683 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:469 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:507 |
C语言程序设计教程(第三版)课后习题10.7 指针(C语言代码)浏览:597 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:3254 |