1000以内完数c语言
发布时间: 2025-09-29 14:48:04
					Ⅰ 用c语言求1000之内的完数 要求输出完数的因子
#include "stdio.h"
//判断n是否是完数
bool isWanShu(int n)
{
   int sum=0, j;                   
   for(j=1;j<n;j++)  
   {
     if(0==n%j) sum+=j;
   }                   
   if(sum==n) {
      printf("%d 是完数, ", n);
      return true;     
   } else {
      return false;
   }
}
//输出整数的n的因子(自身除外)
void printFactor(int n)
{
   int i;
   printf("%d 的因子: ", n); 
   
   for(i=1; i<n; i++) {
      if(n%i==0) printf("%d ", i);
   }
   printf("\n");
}
int main()
{
   int i;
   for(i=1; i<=1000; i++) {
      if ( isWanShu(i)) { //如果i是完数,则输出它的因子。
         printFactor(i);
      }
   }
   return 0;
} 
输出结果:
6 是完数, 6 的因子: 1 2 3
28 是完数, 28 的因子: 1 2 4 7 14
496 是完数, 496 的因子: 1 2 4 8 16 31 62 124 248
热点内容
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
					
				