解题思路: 俩层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语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:454 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:546 |
简单的a+b (C语言代码)浏览:462 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:568 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:354 |
C语言程序设计教程(第三版)课后习题10.7 (C++代码)浏览:649 |
1169题解浏览:519 |
【出圈】 (C语言代码)浏览:973 |
Manchester- A+B for Input-Output Practice (I)浏览:1819 |