自守数(indexOf()方法判断)

自守数

http://www.nowcoder.com/questionTerminal/88ddd31618f04514ae3a689e83f3ab8e

解题思路

1、利用字符串的indexOf()方法。

2、第一步是先计算得到数字n的平方值。

3、第二步是将它们转化为字符串,通过查找数字n在平方值字符串中的下标。

4、判断条件:如果数字n在平方值字符串中的下标 = 平方值字符串长度-数字n长度,则说明数字n为自守数。否则不是。

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            fun(n);
        }
    }

    public static void fun(int n) {
        int ans = 0;
        for (int i = 0; i <= n; i++) {
            if (isZiShowNumber(i)) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    public static boolean isZiShowNumber(int num) {
        int m = num * num;
        String str1 = String.valueOf(m);
        String str2 = String.valueOf(num);
        int len1 = str1.length();
        int len2 = str2.length();
        int index = str1.indexOf(str2);
        if (index == len1 - len2) {
            return true;
        }
        return false;
    }

}
全部评论

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务