题目描述
守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。输入描述:
输入包括1个整数N,2<=N<100。
输出描述:
可能有多组测试数据,对于每组数据,
输出"Yes!”表示N是守形数。
输出"No!”表示N不是守形数。
输入例子:
25
4
输出例子:
Yes!
No!
解题思路: 转换成字符串处理,从后向前截取平方数与原数值的等长部分作为新的字符串,与原串做比较,若相等,则返回"Yes!",否则返回"No!"
package huazhongUniversity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class OberserveShapeFigure {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=br.readLine())!=null){
int n=Integer.parseInt(line);
String s=n*n+"";
if(line.equals(s.substring(s.length()-line.length(), s.length()))){
System.out.println("Yes!");
}
else{
System.out.println("No!");
}
}
}
}