题目要求:
如果一个数恰好等于它的因子之和,那么这个数就被称为完全数。例如6的因子为1,2,3,而6=1+2+3,因此6是一个完全数。求出1000以内的完全数。
题目分析:
本题最为直接的解法就是利用穷举法在1~1000以内判断每个数是否是完全数,如果是完全数就输出之。问题的关键就是如何判断一个数a是否是完全数。它要分为两个步骤完成:
(1)求出a的所有因子a1,a2…an的和sum;
(2)判断a1+a2+…+an的和sum是否等于a,如果sum等于a则a是完全数,否则a不是完全数。
#include"stdio.h"
#define max 100
Perm(int a[], int n ,int s ,int r[], int m){
int i,j,k,flag=0;
int b[max]; /*数组b存放子序列*/
for(i=0;i运行结果:
| 留言与评论(共有 0 条评论) “” |