java中一个素数能被几个9整除

文章介绍了两种Java编程方法,分别通过数字规律和for循环判断输入的自然数是否为素数,如果素数则输出结果,否则提示非素数。
摘要由CSDN通过智能技术生成

 第一种:利用数字的规律去判断素数,然后再用for循环搭配if语句,完成.

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入一个大于的1的自然数");
    long number = scanner.nextInt();
    long figure = 9L;
    if (number % 2 != 0 && number % 3 != 0 && number % 5 != 0 && number % 7 != 0) {   //判断这个数是否为素数
        for (int i = 1; i <= Integer.MAX_VALUE; i++) {     //java里面最大的一个数
            if (figure % number == 0) {
                System.out.println(figure);
                break;
            } else {
                figure = figure*10+9;  //让9变为99,999以此类推,然后去除那个素数,直到除尽.
            }
        }
    } else {
        System.out.println("该数字不为素数,请输入一个素数");
    }
}
第二种:利用for循环判断素数,之后的步骤与上面一样.
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个大于1的自然数");
        long number = scanner.nextInt();
        long figure = 9L;
        for (int i = 2; i <= number; i++) {
            if (i == number) {
                for (int j = 1; j <= Integer.MAX_VALUE; j++) {
                    if (figure % number == 0) {
                        System.out.println(figure);
                        break;
                    } else {
                        figure = figure * 10 + 9;
                    }
                }
                break;
            }
            if (number % i == 0) {
                System.out.println("这个数不为素数");
            }
        }
    }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值