求完数及其因子

在这里插入代码片
#include
int main()
{
	double i,x;//	i是10000以内某个数 ,x用来求因子
	int a,b;//	b是因子,a是因子相加 
	for(i=2;i<=1000;i++)		 
	{
		for(x=1,a=0;x<=i;x++)
		{
			if(int(i/x)==i/x&&i/x!=i)	//  判断i/x是不是整数 
			{
				b=i/x;					//  若i/x=b是个整数,则b就是i的其中一个因子 
				a+=b;	
			}		
		}
		
				if(a==i)			 //判断是不是完数 
				{
					printf("%.0lf its factors are ",i);			
					
					for(x=1,a=0;x<=i;x++)
					{
							if(int(i/x)==i/x&&i/x!=i)
							{
								b=i/x;
								printf("%d,",b);
							}		
					}
					
						printf("\n");
				}
	}
}


你可能感兴趣的:(c语言)