自守数(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;
    }

}
全部评论

相关推荐

迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 16:15
你知道对于一个平常不接电话,从来不发语音,只打字交流的人来说电话面有多恐怖吗....刚刚亲眼目睹了舍友电话面...她甚至还在吃饭...就这么水灵灵的打过来开始问了...感觉如果是面对面我真的会紧张到跪下来给面试官磕一个...
一只ikun:额,其实没那么恐怖,最难迈开的是第一步,相信我,你面完第一次后面就不怕了。第一次面试我还想着找个自习室面试,到后面我打着游戏突然来电话我就直接面试了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务