什么是守形数呢,先来了解一下:
根据这个要求写出代码如下
解法一:根据守形数定义,判断平方后的结果的低位数是否和原数相等
package Num;
/*
* 判断一个数是不是守形数
* */
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String num=sc.nextLine();
isNum(num);
}
}
public static void isNum(String num){
int n=Integer.parseInt(num);
int s=(int)Math.pow(n,2);
String s1=Integer.toString(s);
if((s1).endsWith(num)){
System.out.println("Yes!");
}else{
System.out.println("No!");
}
}
}
解法二:记录数字的位数n,使得平方得到的数num%10^n,得到的结果如果与n相同,那就是守形数。
代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String num=sc.nextLine();
isNum1(num);
}
}
public static void isNum1(String num){
int len=num.length();
int n=Integer.parseInt(num);
int n1=(int)Math.pow(n,2);
if(n1%Math.pow(10,len)==n){
System.out.println("Yes!");
}else {
System.out.println("No!");
}
}
}
你更喜欢哪种方法呢?