打印出1至1000的质数

本文介绍了一种改进的筛法技术,旨在通过减少运算次数来提升计算性能,特别适用于寻找特定范围内所有质数的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偿试近可能的减少运算次数,提高运算效率。

int[] shu = new int[1001];
           
            for (int i = 2; i <= 1000; i++)
                shu[i-1] = i;
            int start = 1;   //每一次筛选后未确定数的数组储存段的起始位置
            int end = 999; //每一次筛选后未确定数的数组储存段的结束位置

            while (start < end)
            {
                int temp = end;
                int shuadd=0;
                for (int i = start+1; i <= temp; i++)
                {

                    if (shu[i] % shu[start] == 0)
                        end--;
                    else
                    {
                        shuadd++;
                        shu[start + shuadd] = shu[i];
                    }

                }
                start++;
            }
            Console.Write("1,");
            for (int i = 1; i <= end; i++)
            {
                Console.Write("{0},",shu[i]);
            }
            Console.Read();

### Java程序实现查找11000质数 #### 方法概述 为了高效地找到11000之间的所有质数,可以采用基于循环和条件判断的方式。通过优化算法减少不必要的计算量,能够显著提高性能。一种常见的做法是从2遍历到目标数值的平方根范围来检测是否存在因子[^2]。 以下是完整的Java代码示例: ```java public class PrimeNumbers { public static void main(String[] args) { int limit = 1000; System.out.println("1 到 " + limit + " 的质数如下:"); for (int num = 2; num <= limit; num++) { if (isPrime(num)) { System.out.print(num + " "); } } } // 定义一个函数用于判断某个数字是否为质数 private static boolean isPrime(int number) { if (number < 2) return false; // 只需检查从2到sqrt(number)之间是否有能整除的情况即可 for (int i = 2; i * i <= number; i++) { if (number % i == 0) { return false; } } return true; } } ``` 上述代码中定义了一个`isPrime()`辅助方法用来验证单个整数是不是质数,并在外层循环里逐一调用此方法打印符合条件的结果列表。 #### 关键点解析 - **起始值设定**:由于任何小于2的自然数都不是素数,在实际操作前先排除这些情况。 - **边界控制逻辑**:利用数学性质——任意合数必然存在一个小于其平方根的约数这一特性,从而缩短迭代区间长度达到加速目的。 - **输格式调整**:可以根据个人喜好或者项目具体要求改变最终呈现形式比如分行显示或是存储进数组再做进一步处理等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值