4.26趣味百题3.3

发布时间 2023-04-26 20:23:47作者: 混沌武士丞

一 问题描述

 二 设计思路

1.利用循环结构 穷举1~100000

2. 利用条件判断判断 是否为自守数

3.可用数组存放 当前数和平方尾数

三 流程图

四 c++代码实现

 

#include<iostream>
using namespace std;
int ifwan(int);

int main()
{
int i=1;
int n=0;

for(;i<=100000;i++)
{
if(ifwan(i))
{n++;
cout<<"案例:"<<n<<endl;
cout<<i<<"是完数"<<endl;
}


}

return 0;
}
int ifwan(int a)
{
int b=a*a,b1;
int a1=a,l=0,k=1;;
while(a1!=0)
{
l++;
k=k*10;
a1=a1/10;
}
b1=b%k;
if(a==b1)return 1;
return 0;

}