参考代码:
#include<stdio.h> int arr[100]; int is(int, int *); int main() { int n; scanf("%d", &n); for(int i = 6; i < n; i++) { int cnt = 0; if(is(i, &cnt)) { printf("%d its factors are ", i); for(int i = 0; i < cnt; i++) printf("%d ", arr[i]); putchar('\n'); } } return 0; } int is(int a, int *cnt) { int sum = 0; for(int i = 1; i < a; i++) { if(a % i == 0) { arr[(*cnt)++] = i; sum += i; } } return (sum == a) ? 1 : 0; }
0.0分
5 人评分
高精度加法 (C++代码)(大数加法)浏览:934 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:601 |
C语言训练-自由落体问题 (C语言代码)浏览:1738 |
分糖果 (C++代码)浏览:1447 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:703 |
C语言训练-数字母 (C语言代码)浏览:608 |
蚂蚁感冒 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:376 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |