3.1 完数

第一部曲:用两层for循环判断是否存在因子之和是原来的数的数,如果有就break跳出输出

第二部曲:

 

第三部曲:

for(i=2;i<=n/2;i++)
{
s=0;
for(j=1;j<i;j++)
{
if(i%j==0)
s+=j;
if(s==i)
{
cout<<i<<endl;
break;
}
}

}

第四部曲:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int i=2,j=1,s,n;
cin>>n;//输入数据范围
for(i=2;i<=n/2;i++)
{
s=0;
for(j=1;j<i;j++)
{
if(i%j==0)
s+=j;
if(s==i)
{
cout<<i<<endl;
break;
}
}

}
return 0;
}

 

posted @ 2023-05-15 22:21  自律小子丶  阅读(25)  评论(0)    收藏  举报