码迷,mamicode.com
首页 > 编程语言 > 详细

java笔试之自守数

时间:2017-02-21 11:47:07      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:ati   static   exti   boolean   链接   count   i++   参数   val   

链接:https://www.nowcoder.com/profile/108908/codeBookDetail?submissionId=2256243
来源:牛客网

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数

 

接口说明


/*
功能: 求出n以内的自守数的个数


输入参数:
int n

返回值:
n以内自守数的数量。
*/

 

public static int CalcAutomorphicNumbers( int n)
{
/*在这里实现功能*/

return 0;
}

package test;

import java.util.Scanner;

//自守数
/*
 功能: 求出n以内的自守数的个数

 输入参数:
 int n
 返回值:
 n以内自守数的数量。
 */
public class exam15 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            System.out.println(CalcAutomorphicNumbers(n));

        }
        scanner.close();
    }

    public static int CalcAutomorphicNumbers(int n) {
        if (n == 0 || n == 1) {
            return n + 1;
        } else {
            int count = 2;
            for (int i = 2; i <= n; i++) {
                // if (isNum(i)) {
                // count++;
                // // System.out.println(i);
                // }
                if (isNum2(i)) {
                    count++;
                    System.out.println(i);
                }
            }
            return count;
        }
    }

    // 方法1:if判断是否位数匹配
    public static boolean isNum(int i) {
        int s = i * i;
        // 除到0就可以了
        while (i != 0) {
            int tmp1 = i % 10;
            i /= 10;
            int tmp2 = s % 10;
            s /= 10;
            if (tmp1 != tmp2) {
                return false;
            }
        }
        return true;
    }

    // 方法2:调用endsWith()方法直接判断
    public static boolean isNum2(int i) {
        int s = i * i;
        if (String.valueOf(s).endsWith(String.valueOf(i))) {
            return true;
        } else {
            return false;
        }
    }

}

 

java笔试之自守数

标签:ati   static   exti   boolean   链接   count   i++   参数   val   

原文地址:http://www.cnblogs.com/bella-young/p/6423175.html

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