参考代码:
#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 人评分
P1002 (C语言代码)浏览:976 |
【绝对值排序】 (C语言代码)浏览:713 |
【计算两点间的距离】 (C语言代码)浏览:883 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:962 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
核桃的数量 (C语言代码)浏览:669 |
数组与指针的问题浏览:716 |
演讲大赛评分 (C语言代码)浏览:1629 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:566 |