判断一个int型数字是否是自守数

自守数

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

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

详细描述:

接口说明

原型:

Public static boolean isAutoMorphicNum( int num)

输入参数:

num 需要判断的数

输出参数(指针指向的内存区域保证有效):

返回值:

true 是自守数

false 不是自守数

涉及知识点:

JAVA语言基础:数字处理

我写的程序:

public static boolean isAutoMorphicNum(int num)
	{
		/*在这里实现功能*/
		String input = num + "";
		String power = num * num + "";
		System.out.println(num * num);
		if (input.equals(power.substring(power.length() - input.length()))) {
			return true;
		}
		return false;
	}

我自己的测试用例:

public void testCase01()
	{
		assertEquals(Demo.isAutoMorphicNum(0),true);
		assertEquals(Demo.isAutoMorphicNum(1),true);
		assertEquals(Demo.isAutoMorphicNum(5),true);
		assertEquals(Demo.isAutoMorphicNum(6),true);
		assertEquals(Demo.isAutoMorphicNum(25) ,true);
		assertEquals(Demo.isAutoMorphicNum(76) ,true);
		assertEquals(Demo.isAutoMorphicNum(376) ,true);
		assertEquals(Demo.isAutoMorphicNum(625) ,true);
		assertEquals(Demo.isAutoMorphicNum(9376) ,true);
		assertEquals(Demo.isAutoMorphicNum(10), false);
		assertEquals(Demo.isAutoMorphicNum(100) ,false);
		assertEquals(Demo.isAutoMorphicNum(999999999) ,false);
	}	

我自己的测试用例都是能通过的,但是提交至答题系统后,系统测试说有一个测试用例不通过:

关于负数和最大的int的数我已经测试过了,输入的数是否是负数对系统的判别结果不影响,即貌似负数不可能是自守数,当输入为最大int值:999999999时,我的程序也能判断出结果,即为false(不是自守数)。

我不知道我还有哪种情况没有考虑到,求帮忙。

时间: 2024-10-10 17:17:22

判断一个int型数字是否是自守数的相关文章

判断一个int 型整数 是否为回文数

leetcode 上的题目 Determine whether an integer is a palindrome. Do this without extra space. 由于不能使用额外空间,所以不能把数字转化为字符串后进行比较.因为这样空间复杂度将为线性. leetcode给出了几点提示 1.判断负数是否为回文数,查了下回文数定义,负数不为回文数 2.就是注意不能把数字转字符串,因为不能用额外空间. 3.如果打算反转数字,需要处理好数字溢出情况 我的解决办法: 先获取数字长度,然后获取

求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。函数为 int same(int num)其中num是输入的整型数字

import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test { public static void main(String[] args) { /** * 2.求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123, * 相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0. * 方法是先将整型数字转换到数组中,再判断.

求一个int型整数的两种递减数之和(java)--2015华为机试题

题目描述: 给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况. 最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7

判断有序整型数组中是否存在两数,相加之和等于给定的任意整数

前几天参加C++的一个面试,面试官问到这样一个问题,当时给出的第一答案是1. 遍历数组中的元素,两数相加与给定的整数进行比较,此种方法在数组个数和整数个数较小时可用. 两数之和等于任意整数,肯定有一个数小于等于任意整数的1/2,另一个数大于等于任意整数的1/2,那么只需要判断整数的一半,由于数组是排序的,可通过二分查找的方式 直接遍历数组中小于等于任意整数一半的元素,通过二分查找的方式,在数组中的有序元素不连续时,相比方法2更节省许多运算

Java 判断是否为汉字 判断是否为乱码 判断字符串是否为双整型数字 整数 数字

/**  * 判断是否为汉字  *   * @param str  * @return  */ public static boolean isGBK(String str) {  char[] chars = str.toCharArray();  boolean isGBK = false;  for (int i = 0; i < chars.length; i++) {   byte[] bytes = ("" + chars[i]).getBytes();   if (

黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[] args) { /* * 定义一个int类型的数组,数组中元素为{5,7,3,9,4}. * 求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出"最小值为偶数",如果不是偶数则输出"最小值为奇数".打印如下 */ int arr[]= {5,7,3,9,4

leecode---09---数字,取余整除---判断一个数字是否是回文

https://leetcode.com/problems/palindrome-number/description/ 题意 判断一个数字是否是回文 分析 32132132100 /100 删去0的部分 %100 留下0的部分 代码 class Solution { public boolean isPalindrome(int x) { if (x < 0) return false; //计算到x的最高位 int div = 1; while (div * 10 <= x) { div

C++读写TXT文件中的string或者int型数据以及string流的用法

对文件的读写操作是我们在做项目时经常用到的,在网上看了很多博客,结合自身的项目经验总结了一下,因此写了这篇博客,有些地方可能直接从别的博客中复制过来,但是都会注明出处. 一.文件的输入输出 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in             只读 ios::out            只写 io

判断一个字符串是不是一个合法的IP地址

最近在笔试的时候遇到碰一道算法题, 要求判断一个字符串是不是合法的ip地址. 将我的思路发出来分享一下,不一定正确,也不一定是最优的方法.希望能分享一些交流 要求用java或者c来实现,我的java代码: 1 public class Test_ip { 2 //程序入口 3 public static void main(String[] args) { 4 Solution s = new Solution(); // 业务逻辑放在Solution类里面 5 //String test_st