#C语言求1-99999999之间的完美数,有没有什么好方法,每次都是时间超限
  • 板块学术版
  • 楼主fareless
  • 当前回复13
  • 已保存回复13
  • 发布时间2021/10/28 16:06
  • 上次更新2023/11/4 02:04:33
查看原帖
#C语言求1-99999999之间的完美数,有没有什么好方法,每次都是时间超限
598387
fareless楼主2021/10/28 16:06
#include<stdio.h>
#include<math.h>
int main()
{
	int m,n,i,k,sum,a;
	
	while(scanf("%d%d", &m, &n)&&m!=0&&n!=0)
	{
	        a=0;
		for(i=m;i<=n;i++)
		{sum=0;
		 for(k=1;k<=(int)sqrt(i);k++)
		 {if(i%k==0)
				 {sum+=k;sum+=i/k;}}
		 if(sum==i)
		 {a++; if(a==1)printf("%d", i);else printf(" %d", i);}
		 if(i==n&&n>=6)printf("\n");}
		 if(a==0)
			 printf("No\n");}
	         
	return 0;
}
2021/10/28 16:06
加载中...