解题思路: 1、 //判断是否是完数 int isfullnum(int factor); 2、 //找出所有因数 int find_arr(int factor); 参考代码: #include //判断是否是完数 int isfullnum(int factor) { int sum = 1; int i; for(i=2;i<=factor/2;i++) { if(factor%i == 0) sum+=i; } if(sum==factor) return 1; else return 0; } //找出所有因数并打印 int find_arr(int factor) { int arr[100]={0}; int i,j,k; arr[0]=1; for(i=2,j=1;i<=factor/2;i++) { if(factor%i == 0) { arr[j++]=i; } } for(k=0;arr[k]!=0;k++) printf("%d ",arr[k]); } int main() { int num; scanf("%d",&num); for(int i=6;i<=num;i++) { if(isfullnum(i)) { printf("%d its factors are ",i); find_arr(i); printf("\n"); } } return 0; }
0.0分
1 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:765 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:822 |
C语言训练-字符串正反连接 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
WU-图形输出 (C++代码)浏览:836 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:897 |
The 3n + 1 problem (C语言代码)浏览:603 |
打印十字图 (C语言代码)浏览:2822 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:585 |
矩阵转置 (C语言代码)浏览:855 |