一个根据筛选法求出100以内的所有素数的小程序

2024-02-01 23:38

本文主要是介绍一个根据筛选法求出100以内的所有素数的小程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//根据筛选法求出100以内的所有素数,所谓筛选法是指从小到大筛去一个以知素数的所有倍数,
//例如,根据2我们可筛去4,6,8,...98,100等数.然后根据3可筛去9,15,...99等数(注意此时6,
//12等数早就被筛去了),由于4被筛去了,下一个用于筛选的素数是5...依次类推,最后剩余的就
//是100以内的素数.
/*
*auther starshus
*
*Date 04/11/20
*/
//6.7.4
public class Prime
{
    private static final int MAX=100;
    public static void init(int[] num)//定义数组,里面装从1到100
    {
        int i=0;
        for(;i<MAX;i++)
        {
            num[i]=i+1;
        }
    }
    public static int count(int[] num)//在程序运行后,计算素数个数
    {
        int n=0,i=0;
        for(;i<MAX;i++)
        {
            if(num[i]!=0)//非素数将被置零
               n++;
        }
        return n;
    }
    public static void printf(int[] num)//输出所有素数,每10个转行一次
    {
        int i=0,n=0;
        for(;i<MAX;i++)
            if(num[i]!=0)
            {
                System.out.print(num[i]+" ");
                n++;
                if(n%10==0)
                    System.out.println();
            }
    }
    public static void main(String[] args)//主方法
    {
        int i=2,j=1;
        int count;
        int[] numbers = new int[MAX];
        init(numbers);
        while (j<MAX)
        {
            if(numbers[j]!=0)
               while (i<MAX)
                {
                    if(numbers[i]!=0)
                    {
                        if(numbers[i]%numbers[j]==0)
                            numbers[i]=0;//如果不是素数,置零
                    }
                    i++;
                }
            j++;
            i=j+1;
        }
        count=count(numbers);
        printf(numbers);
        System.out.println();
        System.out.println("ok,we found "+count+"primes in "+MAX+" numbers.");
    }
}

这篇关于一个根据筛选法求出100以内的所有素数的小程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668832

相关文章

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi