判断一个素数能被几个 9 整除
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
package cskaoyan;
 
public class cskaoyan45 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        java.util.Scanner in = new java.util.Scanner(System.in);
        long prime = 0;
        long count = 1;
        long ret = 0;
        long i = 9;
 
        while (!isPrime(prime)) {
            System.out.println("请输入一个素数:");
            prime = in.nextLong();
        }
 
        while (i % prime != 0) {
            i = i * 10 + 9;
            count++;
        }
        ret = i;
 
        System.out.println("素数" + prime + "能整除" + count + "个9组成的数" + ret);
        in.close();
    }
 
    private static boolean isPrime(long number) {
        boolean flag = true;
 
        if (number < 2) {
            flag = false;
        } else if (number < 4) {
            flag = true;
        } else if (number % 2 == 0) {
            flag = false;
        } else {
            for (long i = 3; i < Math.sqrt(number) + 1; i++) {
                if (number % i == 0) {
                    flag = false;
                    break;
                }
            }
        }
 
        return flag;
    }
}