题目描述
守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部
分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。
输入描述:
输入包括1个整数N,2<=N<100。
输出描述:
可能有多组测试数据,对于每组数据,
输出"Yes!”表示N是守形数。
输出"No!”表示N不是守形数。
示例描述:
输入
25
4
输出
Yes!
No!
代码描述:
import java.util.*;
public class Main{
public static void isNumber(int n){
int m = n*n;
String str = String.valueOf(m);
String st = String.valueOf(n);
StringBuffer sb = new StringBuffer();
if (str.length() == 1){
System.out.println("No!");
}else {
for (int i = st.length();i<str.length();i++){
sb.append(str.charAt(i));
}
String s = sb.toString();
int k = Integer.valueOf(s);
if (k == n){
System.out.println("Yes!");
}else {
System.out.println("No!");
}
}
}
public static void main(String[] args){
Main main = new Main();
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
main.isNumber(n);
}
}
}