一问题描述

自守数i的平方为z,z的尾数等于那个i。

二设计思路

先求出i的位数再将i*i取余10的位数次方。

三程序流程图

 

四伪代码实现

#include<iostream>
#include<math.h>
using namespace std;
int main(){
int j,z,x;
for(int i=0;i<=10000;i++){
int j=1;
int m;
m=i;
for(j=1;j<=7;j++){
m=m/10;
if(m/10==0){
if(i<10){
j--;
//break;
}
j++;
break;
}
}
z=i*i;
int y;
y=pow(10,j);
x=z%y;
if(x==i){
cout<<i<<endl;
}
}
}

五代码实现