本文主要是介绍作业比赛编号 : 100000592 - 《算法笔记》5.5小节——数学问题->质因子分解 问题 E: 完数与盈数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作业比赛编号 : 100000592 - 《算法笔记》5.5小节——数学问题->质因子分解 问题 E: 完数与盈数
注意输出格式
代码
#include<cstdio>
#include<cmath>
int judge(int n)
{
int sum=1;
int k=sqrt(n);
for(int i=2;i<=k;i++)
{
if(n%i==0)
sum=sum+i+n/i;
}
if(k*k==n) sum-=k;
if(sum==n) return 0; //是完数
else if(sum>n) return 1; //是溢数
else return 2;
}
int main()
{
int w[60],y[60];
int j=0,k=0;
for(int i=2;i<=60;i++)
{
if(judge(i)==0) w[j++]=i;
else if(judge(i)==1) y[k++]=i;
}
printf("E:");
for(int i=0;i<j;i++)
printf(" %d",w[i]);
printf(" G:");
for(int i=0;i<k;i++)
printf(" %d",y[i]);
return 0;
}
/**************************************************************
Problem: 1997
User: #########
Language: C++
Result: 正确
Time:3 ms
Memory:1068 kb
****************************************************************/
这篇关于作业比赛编号 : 100000592 - 《算法笔记》5.5小节——数学问题->质因子分解 问题 E: 完数与盈数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!