您的位置:首页 > 其它

华为机试题:判断自守数

2016-02-17 16:43 239 查看
描述: 题目标题:

自守数

如果某个数的平方的末尾几位数等于这个数,那么就称这个数为自守数。

显然,5和6是一位自守数(5x5=25 6x6=36),25x25=625 76x76=5776,所以25和76是两位自守数。



详细描述:

接口说明

原型:
Public static boolean isAutoMorphicNum( int num)
输入参数:
num 需要判断的数
输出参数(指针指向的内存区域保证有效):

返回值:
true 是自守数
false 不是自守数


涉及知识点:

J***A语言基础:数字处理






我这个代码。三个测试用例,对了2个,我也不知道哪里的问题,求大神指导。
package huawei;

public final class Demo {
	/*
	Description  
	         判断是否是自守数
	Prototype
	       	public static boolean isAutoMorphicNum(int num)
	Input Param 
	   
	      num  需要判断的数
	Output Param 
	         无
	Return Value
	         true  是自守数
	         false 不是自守数
	*/
	public static boolean isAutoMorphicNum(int num)
	{
		/*在这里实现功能*/
		String s1 = num + "";
		
		int temp = num  % 256;
		String s2 = temp * temp + "";
		
	
		int i1 = s1.length() - 1, i2 = s2.length() - 1;
		for(; i1 >= 0 && i2 >= 0; i1--, i2--)
		{
			if(s1.charAt(i1) != s2.charAt(i2))
			{
				return false;
			}
		}
		
		if(i1 < 0)
		{
			return true;
		}

		return false;
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: