题解 | #自守数#

自守数

https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e

import java.util.*;
import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            int num = Integer.valueOf(br.readLine());
            List<Integer> list = new ArrayList();
            list.add(0);
            for (int i = 1; i <= num; i++) {
                if (i % 10 == 0 || i % 10 == 1 || i % 10 == 5 || i % 10 == 6) {
                    if (num == 0) {
                        System.out.println(1);
                        return;
                    }
                    int a = i * i;
                    boolean flag = true;
                    int temp = i;
                    while (temp != 0) {
                        if (a % 10 == temp % 10) {
                            a /= 10;
                            temp /= 10;
                        } else {
                            flag = false;
                            break;
                        }
                    }
                    if (flag) {
                        list.add(i);
                    }
                    flag = true;
                }
            }
            System.out.println(list.size());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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