素数:判断101-200之间有多少个素数,并输出所有素数

本文提供了一段Java代码,用于找出101到200之间的所有素数,并统计素数的数量。通过双重循环实现,外层循环遍历指定范围内的每个数字,内层循环则检查每个数字是否为素数。

问题:判断101-200之间有多少个素数,并输出所有素数

代码如下:

public class prime{
    public static void main (String ar[]){

        int  flag, n, i; // flag 可以用boolean
        int count = 0;
        for (n=101; n<200; n++){
            flag = 0;
            for ( i = 2; i<n; i++){
                if (n%i == 0) {
                    flag = 1; // 标记是否是素数
                    break;
                }
            }
            if (flag == 0) {
                count++;
                System.out.println( i );
            }

        }
        System.out.println( "101--200之间共有"+ count +"个素数" );

    }
}

 

判断 **101200 之间多少素数输出所有素数**,我们可以使用高效的素数判断方法遍历这个区间的每一个数。 --- ### ✅ Java 实现代码: ```java public class PrimeInRange { /** * 判断一个数是否为素数 * @param n 待判断的整数 * @return true 表示是素数,false 表示不是素数 */ public static boolean isPrime(int n) { if (n <= 1) return false; if (n == 2) return true; if (n % 2 == 0) return false; // 排除偶数 for (int i = 3; i * i <= n; i += 2) { if (n % i == 0) { return false; } } return true; } public static void main(String[] args) { int start = 101; int end = 200; int count = 0; System.out.println(start + " 到 " + end + " 之间素数有:"); for (int num = start; num <= end; num++) { if (isPrime(num)) { System.out.print(num + " "); count++; } } System.out.println(); // 换行 System.out.println("总共有 " + count + " 个素数。"); } } ``` --- ### ✅ 输出结果: ``` 101200 之间素数有: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 总共有 21 个素数。 ``` --- ### 🔍 代码解释: - `isPrime(int n)` 函数: - 处理边界情况(≤1、2、偶数); - 只试除到 √n 的奇数,提高效率。 - 主循环从 101 遍历到 200- 每发现一个素数就打印计数; - 最终统计总数。 --- ### 📌 答案总结: - **区间:101 ~ 200** - **素数列表**: > 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, > 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199 - **共 21 个素数** --- ### ✅ 小知识补充: 这些素数中有一些有趣的成员,比如: - **199** 是该范围内最大的素数- **149** 是“可旋转素数”(rotate digits still prime? 不一定,但常被研究); - 所有这些素数都是奇数,符合“大于2的素数必为奇数”的规律。 --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁晨le

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值