码迷,mamicode.com
首页 > 其他好文 > 详细

自守数

时间:2015-08-15 21:37:36      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

import java.util.Scanner;


public class GetSelfConttrolledNum {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int count = getSelfControlledNum(num);
		System.out.println(count);
	}

	private static int getSelfControlledNum(int num) {
		int number = 0;
		for (int i = 2; i < num; i++) {
			
			
				if(i<9){
					int a = i*i;
					if(a%10==i)
						number++;
				}
			else if(i<99){
				int a = i*i;
				int b = a-a/100*100;
				if(b==i)
					number++;
			}else if(i<999){
				int a = i*i;
				int b = a-a/1000*1000;
				if(b==i)
					number++;
			}else if(i<9999){
				int a = i*i;
				int b = a-a/10000*10000;
				if(b==i)
					number++;
			}
			
				
				
		}
		return number+2;
	}

}
自守数:

如果某个数的平方的末尾几位数等于这个数,那么就称这个数为自守数(如果该数是一位数,该数平方的个位和该数相同就是自守数,比如0,1,5;如果该数是两位数,就要看结果的后两位是否与该数相同)。

定义:自然数n称为p-进制下的自守数当且仅当 n(n-1)能被p^m整除其中m=1+[log_p n]。取p=10时即为此自守数的定义。

0和1的平方的个位数仍然是0和1(对任何p进制),称为平凡自守数。

注意:当p为素数时,只有平凡自守数。

显然,5和6是一位自守数(5x5=25 6x6=36)

版权声明:本文为博主原创文章,未经博主允许不得转载。

自守数

标签:

原文地址:http://blog.csdn.net/liaction/article/details/47685119

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!