1-1000のすべての終了番号を出力します

完全な数の規則:すべての真の要因(つまり、それ以外の除数)の合計は、それ自体とまったく同じです。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void main()
{
	int num,n,i;
	int fct,sum;
	int a[50];
	
	for(num=2;num<=1000;num++)
	{
		n=num/2;
		sum=0;
		i=0;
		for(fct=1;fct<=n;fct++)
		{
			if(num%fct==0)//注意括号 
			{
			 sum += fct;
			 a[i++]=fct; //i记得自增 
			}
		}
		n=i;
		if(sum == num)
		{
		  printf("%d是完数,因子为:",num);
		  for(i=0;i<n;i++)
		  printf(" %d ",a[i]); 
		  printf("\n");//换行不要加错位置 
		}
	
	}
}
元の11件の記事を公開 いいね!0 訪問数1

おすすめ

転載: blog.csdn.net/qq_38272075/article/details/105527988