习题 5.9 编程序找出1000之内的所有完数。
2017-08-09 19:59
381 查看
C程序设计 (第四版) 谭浩强 习题5.9 个人设计
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1, 2, 3
代码块#include <stdio.h> int main() { int n, i, j, k, s; int v[29]; for (n = 1; n < 1000; n++){ for (s = 0, i = 1, j = 0; i < n; i++){ if (n%i == 0){ v[j++] = i; s += i; } } if (n == s){ printf("%d its factors are ", n); for (k = 0; k < j; k++){ printf("%d", v[k]); if (k != j - 1) printf(", "); } printf("\n"); } } return 0; }
方法2:
#include <stdio.h> int main() { for (int i=1; i<=1000; i++){ for (int n[100], s=0, k=1, j=0; k<i; !(i%k) ? n[j++]=k, s+=k, k++ : k++); if(i==s){ printf("%d its factors are ", i); for (int m=0; m<j; m++){ printf("%d", n[m]); if (m<j-1) printf(", "); } printf("\n"); } } return 0; }
相关文章推荐
- 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如6=1+2+3.编程找出1000以内的所有完数。
- 编程序找出1000之内的所有完数
- c语言:编程找出1000之内的所有完数。
- 【程序19】找出1000以内的所有完数
- 编程找出1000之内的所有完数.
- 编程找出1000之内的所有完数,并输出其因子
- 如6=1+2+3。编程找出1000之内的所有完数。并按照下面格式输出 6,its factors are 1,2,3
- c语言:编程找出1000之内的所有完数。
- 找出1000以内的所有完数。
- java小练习(一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序,求1000之内的所有完数。)
- 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子
- 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
- Java第三课:1000之内的所有完数
- 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数就称为"完数",找出1000以内的所有完数。
- 找出1000以内的所有完数。
- 【java】编程找出1000以内的所有完数
- 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数
- 编程找出1000以内的所有完数。