筛选法求1到100以内的素数
问题描述:
所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。
具体做法如下:
<1> 先将1挖掉(因为1不是素数)。
<2> 用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。
<3> 用3去除它后面的各数,把3的倍数挖掉。
<4> 分别用4、5…各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。
直接上代码:
import java.util.*;
import java.io.*;
@SuppressWarnings("unchecked")
public class Test
{public static void main(String[] args) throws Exception{int[] a = new int[101];int i,j;for(i = 1;i<101;i++){a[i]=1;}for(i = 2; i <101; i ++){for(j=i+i;j<101;){if(j%i == 0){a[j]=0;}j = j+i;}}for(i = 2; i < 101; i++){if(a[i]!= 0){System.out.println(i);}}}
}
运行结果如下:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
筛选法求1到100以内的素数相关推荐
- 【中国大学MOOC】java程序设计-week3-用“埃氏筛法”求2~100以内的素数
1.题目 用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数. 要求使用数组及增强的for语 ...
- Week 2互评作业:用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。
用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数. 要求使用数组及增强的for语句. pa ...
- Week3 互评作业:用“埃氏筛法”求2~100以内的素数。java实现
问题描述 用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数. 要求使用数组及增强的for语 ...
- 【Java】求1到100以内的素数(质数)
虽然我们都知道质数的概念:质数又称素数,是指一个大于1的自然数中,除了1和其自身外,没法被其他自然数整除的数.我当时蒙圈了,都是哪些数字嘛我还能一一说出来,至于多少个嘛,数一数就好了.可是求和就浪费时 ...
- c语言筛选法求100之内素数,用筛选法求100之内的素数。
/*用筛选法求给出范围之内的素数.*/ #include #include int isPrime(int n){//判断素数 for(int i = 2; i < n; i ++){ if(n ...
- 用“埃氏筛法”求2~10000以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。
需求:用"埃氏筛法"求2-100以内的素数.2-100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,--依此类推,最后剩下的就是素数.(JAVA语言编写) 埃氏筛选:要 ...
- python素数100以内_Python求出0~100以内的所有素数
质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数. 一.判断一个数是否为素数: 基于定义 def is_prime(num): if num < ...
- 用筛选法求100以内的素数(数组)
用筛选法求100以内的素数,要求使用数组. #include "stdafx.h" #include<iostream> using namespace std; in ...
- 【C语言】 利用筛选法求100以内的素数
算法思路: 原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数.如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质数的倍数筛掉. 代码如下: //C语言 筛选法求100以内的素 ...
最新文章
- 据说是腾讯php程序员面试题目 蛋疼..要是提供PHP手册就HI了..
- Java - 从文件压缩聊一聊I/O一二事
- 编译log4cplus-2.0.x备忘录
- 【数据库学习笔记】——创建数据库连接对象connection
- 跨平台应用集成(在ASP.NET Core MVC 应用程序中集成 Microsoft Graph)
- linux 系统下配置java环境变量
- 【Qt】Qt之进程间通信(共享内存)【转】
- LeetCode 1067. 范围内的数字计数
- 在 Objective-C 中对 Block 应用 property 时的注意事项
- sql server查询某一字段不重复的数据_初识数据库
- 延迟和带宽:时延简介、最后一英里、核心网带宽、网络边缘
- Python3-问题整理
- network 公网IP与私网IP的区别
- mysql架设手游_魔天屠龙传手游私服架设源码+大中控后台+搭建教程
- 接口测试用例设计实践(含详细实例)
- Android开根号运算
- ArcGIS配图/地图符号化的一些技巧与相关资料
- Linux与Mac系统用SCP互传文件
- 迷宫寻宝(宽度搜索)(C++)
- 前端从入门到大前端学习流程总结
热门文章
- 前端学习(1990)vue之电商管理系统电商系统之自定义时间过滤器
- shiro学习(12)No WebApplicationContext found:
- 第八十七期:爬了知乎“沙雕问题”,笑死个人!
- 高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS )
- [Violation] Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event.
- html头部尾部分离组件引入(JQ)
- 直接拿来用!10款实用Android UI工具
- mysql存储过程中怎么睡几秒_MySql的逻辑架构
- 1-6docker数据共享与持久化
- scp命令:服务器间远程复制代码