守形数(解题报告)

来源:互联网 发布:centos grub引导修复 编辑:程序博客网 时间:2024/05/22 06:14

题目描述

守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。
输入描述:
输入包括1个整数N,2<=N<100。


输出描述:
可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。

输入例子:
254

输出例子:
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 stubBufferedReader 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!");}}}}