解题思路: 俩层for循环,外层遍历从1到N每个数,内层进行判断每个数是否为完数。
注意事项: 保证每次外层for循环遍历时条件一致!
参考代码:
#include<iostream> using namespace std; int main(void) { int N; int arr[10000]; int sum = 0, len = 0; cin >> N; for (int i = 1; i <= N; i++) { for (int j = 1; j < i; j++) { if (i%j == 0) { sum += j; arr[len++] = j; } } if (sum == i) { cout << i << " its factors are "; for (int k = 0; k < len; k++)cout << arr[k] << " "; cout << endl; } sum = 0, len = 0; } return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:783 |
C语言考试练习题_排列 (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:727 |
1035 题解浏览:875 |
理财计划 (C语言代码)浏览:494 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:529 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:538 |
剔除相关数 (C语言代码)浏览:1156 |
很简单,,题解1041:C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
C语言训练-自守数问题 (C语言代码)浏览:702 |