1. 程式人生 > >Java 自守數

Java 自守數

import java.util.Scanner;

public class zishoushu {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long x=sc.nextInt();
		if(zishou(x)==1){
			System.out.println("您輸入的數"+x+"是自守數");
		}else{
			System.out.println("您輸入的得數"+x+"不是自守數");
		}
		System.out.println("以下是1000以內自守數");
		for(int i=2;i<1000;i++){
			if(zishou(i)==1){
				System.out.print(i+" ");
		}}
		
	}
	public static int zishou(long n){
		long temp,k,m;
		int count;
		k=1;
		count=0;
		while(k>0){
			k=n-(long)Math.pow(10, count);
			count++;
		}
		m=count-1;
		temp=(n*n)%((long)Math.pow(10,m));
		if(n==temp) return 1;
		return 0;
	}
}