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

用筛选法求100以内的素数 筛选法就是“埃拉托色尼筛法”,方法是在纸上写出1~1000的全部整数,然后逐个判断他们是否为素数,挖掉非素数,剩下的就是素数。 算法思想: 1、挖掉1 2、用下一个未被挖掉的数p除p后面各数,把p的倍数挖掉 3、检查p是否小于√p的整数部分,如果是,则返回2继续执行,否则结束 4、剩下的数就是素数 代码: #include<cstdio> #include<math.h> int main(){ int a[101],n=0; for(int i=1;i<=100;i++ 阅读详情
//根据筛选法求出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.");
    }
}
Revit二次开发之双事件:空闲事件与DocumentChanged事件 对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫... 阅读详情

相关推荐

别再瞎猜了!Fluent瞬态计算时间步长到底设多少?一个公式+实战案例搞定

本文详细解析了Fluent瞬态计算中时间步长的设置方法,通过黄金公式和实战案例,帮助工程师准确确定时间步长,避免计算发散和资源浪费。文章还介绍了动态调整策略和典型工程场景的参数优化,提升仿真效率和精度。

weixin_42638178的博客 426

筛选法求素数&一般方法求素数&判断一个数是否是素数

筛选法求素数&一般方法求素数&判断一个数是否是素数 1.判断一个数是否是素数 #include<stdio.h> #include<math.h> int main() { int n, i, k; printf("please enter a integer number"); scanf_s("%d", &n); k = sqrt(n); for (i = 2; i ...

Player_HA的博客 7192

Unity3d游戏开发工程师笔试题学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、学习背景二、错题记录2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 提示:这里可以.

m0_54231818的博客 5464

筛选法求1到100以内的素数

问题描述: 所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。 具体做法如下: 先将1挖掉(因为1不是素数)。 用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。 用3去除它后面的各数,把3

常敲代码手不生 3032

openEuler 22.03 安装 openGauss 5.0.2 部署手册

openEuler 22.03 安装 openGauss 5.0.2 部署手册

全国服务器高效代维 1424

什么是PON(无源光纤网络)、PON的发展及演进

全球知名媒体Omdia在光纤和铜缆接入设备预测报告中对2022年2月的预测显示,PON设备端口收入预计在2020年至2027年期间以12.3%的年复合增长率增长,到2027年将达到163亿美元,远高于2020年的82亿美元。 此前,Omdia有份报告称,在3月份举行的美国OFC展会中,众多 CSP 正在顺利部署 XGS PON(10G 对称),其他 CSP 专注于基于 GPON 的低速 FTTH 服务。另外关于25G PON 和 50G PON 之间的争论仍在继续,而Omdia 认为 25G PON 和 5

4930

习题6.1 用筛选法求100之内的素数

#include <stdio.h> int main() { int a[100],i,j; for(i=0;i<100;i++) a[i]=i+1; a[0]=0; for(i=1;i<99;i++) { for(j=i+1;j<100;j++) { if(a[i]!=0 && a[j] !=0) { if(a[j]%a[i]==0) a[j]=0; } } } for(i=0;i<100;i++

ajwx_1127的博客 397

别再被网站识别成机器人了!用Python的undetected_chromedriver+Selenium实现无痕自动化

本文详细介绍了如何利用Python的undetected_chromedriver和Selenium实现无痕自动化,突破现代网站的反爬系统。通过修正浏览器指纹、模拟人类操作行为,并结合实战案例,帮助开发者构建难以被识别的自动化脚本,适用于电商监控等场景。

weixin_30367169的博客 252

C++ //习题 5.1 用筛选法求100之内的素数。

【代码】C++ //习题 5.1 用筛选法求100之内的素数。

Made in Code 3324

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1128

Python 控制 Keysight N9010B/N9020/N9030 频谱仪

为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。

xgh1951的博客 1万+

【C语言】 利用筛选法求100以内的素数

算法思路: 原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数。如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质数的倍数筛掉。 代码如下: //C语言 筛选法求100以内的素数 //原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数。如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质 //数的倍数筛掉。 //我们将从2开始 用2除后面的数,...

Alan的博客 5万+

国科大学习资料--机器人智能控制_袁如意老师PPT后习题答案(学长精心整理)

人工神经元激活函数的作用是什么? 答:激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。 人工神经网络的学习规则有哪些?各有何特征? 答:大类可以分为无监督学习算法、有监督学习算法和强化学习。其中无监督学习算法指只有输入信息,没有期望的输出信息,如Hebb学习规则,神经元连接强度的变化与两个相互连接的神经元的激活水平成正比。竞争学习法则:网络各输出单元相互竞争,最后达到只有一个最强者激活。有监督学习算法指同时提供输入信息和对应的期望输出信息,如误差学习(Delta学

无名何许人的博客 1486

用筛选法求100之内的素数(C语言 数组)

1.解释下什么是筛选法?        筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超...

s_wander的博客 9万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用筛选法求100以内的的素数

用筛选法求100以内的的素数 1.算法介绍 筛选法是指埃拉托色尼(Eratosthenes)筛选,埃拉托色尼是古希腊的著名数学家。他采取的方法是,先写下1到1000的全部整数,然后逐个判断它们是否素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。 2.算法流程 1.先挖掉1; 2.用下一个未被挖掉的数p除p后面各数,把p的倍数挖掉; 3.检查p是否小于根号n的整数部分(如果n=100...

weixin_43752912的博客 3118

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C语言:用筛选法求100以内的素数

用筛选法求100以内的素数

cccccczl0131的博客 7221

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

筛选法求100以内的素数

题目:利用筛选法求100以内的素数。 拓展:筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这

可以混,但不能真的菜 2444

用筛选法求100之内的素数

上面的思路其实是根据素数定义的,以及常规思路(该自然数和除1和它本身的数比较),其中优化了整除对象数,2~7是我所能想到最好的。用的是“倍数法”,即将同倍数的标记为0.从倍数2开始,将4,6,8,...,100后标记为0;- 如果此时只有它本身(当a[i] == 5时)才满足“整除结果为0”的操作,它本身就作为一个结束循环 标记数。2. 从自然数2开始筛选,即从数组元素a[1]开始遍历数组。1. 如果会被整除(从自然数2开始),再a[i]是否等于它本身,即if (a[i] == j)

ComputerLiteracy的博客 2925

用筛选法求100以内的素数(数组)

用筛选法求100以内的素数,要求使用数组。 #include "stdafx.h" #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[100],i,b[100],j,n=0;     //数组a[100]来放用于判断的数,数组b[100]来放素数 for(i=0;i

yanglize的博客 9845

用筛选法求100之内的素数(C语言 数组)~易懂

1.首先解释下什么是筛选法? 筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。 2.程序步骤: <1> 先将1挖掉(因为1不是素数)。 <2> 用2去.

阿泉的博客 1万+

筛选法求100以内素数

范围确定时,可以通过筛选法筛选出素数。 一个标记数组a[N],下标i为数,a[i]为0表示i不是素数,为1表示目前还没被筛选出来。从2的倍数开始直到sqrt(N)的倍数,一一从素数中删除,留到最后的就是素数 #include #include #include #define N 101 //筛选法求100以内的素数 int main() { int i,j,a[N]; int sqrt_

help_HELP_的专栏 1389

C++编程用筛选法求100以内的素数

C++编程,筛选法求100以内的素数。

Sea_Yanwu的博客 8876
上一篇: 一个验证歌德巴赫猜想的小程序
下一篇: Bill Gates 的大学毕业典礼演讲
W1nt3rs
W1nt3rs 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄22年 977粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值