比如25的平方是625,低位部分是25,因此25是一个守形数
作者:互联网
题目描述
守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。
输入描述:
输入包括1个整数N,2<=N<100。
输出描述:
可能有多组测试数据,对于每组数据, 输出"Yes!”表示N是守形数。 输出"No!”表示N不是守形数。
示例1
输入
25 4
输出
Yes! No!
#include<bits/stdc++.h>
using namespace std;
string num2str(int n)
{
string temp;
do{
temp=(char)(n%10+'0')+temp;
n=n/10;
}while(n!=0);
return temp;
}
int main()
{
int n;
while(cin>>n)
{
int k = n*n;
string s1 = num2str(n);
string s2 = num2str(k);
int len = s1.length();
int len2 = s2.length();
int num=0;
int j=0;
for(int i=len2-len;i<len2;i++)
{
if(s2[i]!=s1[j])
{
cout<<"No!"<<endl;
break;
}else{
num++;
}
j++;
}
if(num==len)
{
cout<<"Yes!"<<endl;
}
}
return 0;
}
标签:25,string,625,int,形数,temp,num2str 来源: https://blog.csdn.net/qq_38262266/article/details/88093577