素数是个什么东西 prime number
import java.util.ArrayList;
import java.util.Scanner; public class PrimeNumber {
/**
* *********************************************************************
* 只有1和它本身两个正因数的自然数,叫质数(Prime Number)。
* (如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数。
* 与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”
* 如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)
* 100以内的质数有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,在100内共有25个质数。
* 注:(1)2和3是所有素数中唯一两个连着的数。
* (2)2是唯一一个为偶数(双数)的质数。[1]
* 质数的平方数只有三个因数.
* ********************************************************************
* @param args
* 题目:判断101-200之间有多少个素数,并输出所有素数。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//根据输入的两个数,输出两数之间的全部素数
int start = 0, end = 0;
Scanner input = new Scanner(System.in);
System.out.println(" 请输入大于1的两个数区间 ");
while(start <= 1 || end <= 1){
try{
start = input.nextInt();
end = input.nextInt();
}catch(Exception e){}
}
input.close(); ArrayList list = new ArrayList();//保存判断出来的素数
for(int i = start; i <= end; i++){
if(isPrime(i)){
list.add(i);
}
} System.out.println(start + " 到 " + end + " 之间的素数是 " + list + "\n总数是 " + list.size()); } /**
*
* @param int number
* @return boolean (true is prime number, false is not prime number);
*/
private static boolean isPrime(int i){
int k = (int) Math.sqrt(i);
if (i < 3 && i > 0)
return true;//2、3是唯一连续的两个素数
for (int j = 2; j < i/2+1; j++){
if(i%j == 0) //如果余数为0,表示被1和自己之外的数整除了,即非素数,属于合数
return false;
}
return true;
}
}
根据素数定义,判断一下,除了1和本身之外的数字,只要不能把本身整除,那么证明这个数字就是素数了。
因此想要从1到数字本身一次判断余数是否为0,
然后又想,当循环超过数字本身一半之后就已经不可能在有整除的情况出现了,因此,循环可以减少一些,控制条件改正 本身除以2
但是对于4这样的小数的时候有问题,因此修改为 本身/2+1,这样可以了。
看到很多地方使用的是 Math.sqrt(本身); 表示不明所以。
素数是个什么东西 prime number的更多相关文章
- FZU 1649 Prime number or not米勒拉宾大素数判定方法。
C - Prime number or not Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & % ...
- 题目1040:Prime Number(第k个素数)
题目链接:http://ac.jobdu.com/problem.php?pid=1040 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- 数论 - 素数的运用 --- poj 2689 : Prime Distance
Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12512 Accepted: 3340 D ...
- 每日一九度之 题目1040:Prime Number
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6732 解决:2738 题目描述: Output the k-th prime number. 输入: k≤10000 输出: The k- ...
- 素数筛法--SPOJ Problem 2 Prime Generator
质数(prime number)又称素数,除了1和它本身外,不能整除以其他自然数,换句话说就是该数除了1和它本身以外不再有其他的因数:否则称为合数.最小的质数是2. 要判断一个整数N是不是质数很简单, ...
- 10 001st prime number
这真是一个耗CPU的运算,怪不得现在因式分解和素数查找现在都用于加密运算. By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13 ...
- LeetCode 762 Prime Number of Set Bits in Binary Representation 解题报告
题目要求 Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a ...
- 【九度OJ】题目1040:Prime Number 解题报告
[九度OJ]题目1040:Prime Number 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1040 题目描述: Ou ...
- LintCode-Kth Prime Number.
Design an algorithm to find the kth number such that the only prime factors are 3, 5, and 7. The eli ...
- [LeetCode] Prime Number of Set Bits in Binary Representation 二进制表示中的非零位个数为质数
Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a prime ...
随机推荐
- StencilJs 学习之 JSX
Stencil 组件使用 JSX 渲染,这是一种流行的声明式模板语法.每个组件都有一个渲染函数,它返回在运行时渲染到 DOM 的组件树. 基础用法 render 函数用于输出将绘制到屏幕上的组件树. ...
- 二分查找法upper版(找大于某个值的最小下标)递归+非递归版
需求:比如说查询一个班级大于60分的最低分等等. 思路与二分法基本相同,只不过是对比的逻辑发生了一些小变化,这里所说的上界就是指大于某个值的最小下标. 当mid < target :说明 tar ...
- PostgreSQL 12 文档: 前言
前言 目录 1. 何为PostgreSQL? 2. PostgreSQL简史 2.1. 伯克利的POSTGRES项目 2.2. Postgres95 2.3. PostgreSQL 3. 约定 4. ...
- Atcoder ABC244E - King Bombee 题解
原题: Atcoder ABC244E - King Bombee 题意 给你一张图,从 \(S\) 到 \(T\),经过 \(k\) 条边, 经过 \(X\) 号点偶数次的方案数. 做法 设 \(f ...
- Maven项目配置
pom.xml配置 配置编码格式为UTF-8 <properties> <project.build.sourceEncoding>UTF-8</project.buil ...
- 【EF Core】主从实体关系与常见实体关系的区别
上次老周扯了有关主.从实体的话题,本篇咱们再挖一下,主.从实体之间建立的关系,跟咱们常用的一对一.一对多这些关系之间有什么不同. 先看看咱们从学习数据库开始就特熟悉的常用关系--多对多.一对一.一对多 ...
- 如何编写难以维护的React代码?——滥用useEffect
如何编写难以维护的React代码?--滥用useEffect 在许多项目中,我们经常会遇到一些难以维护的React代码.其中一种常见的情况是滥用useEffect钩子,特别是在处理衍生状态时.让我们来 ...
- linux 配置dns及代理
简介 对于新装的环境,可能无法访问外网,此时需要设置代理或DNS实现访问. 类似wget.yum.pip这类命令都需要通过网络进行下载. 配置dns服务 在/etc/resolv.conf中添加如下两 ...
- 文盘Rust -- Mutex解决并发写文件乱序问题
在实际开发过程中,我们可能会遇到并发写文件的场景,如果处理不当很可能出现文件内容乱序问题.下面我们通过一个示例程序描述这一过程并给出解决该问题的方法. use std::{ fs::{self, Fi ...
- Web安全漏洞解决方案
1.已解密的登录请求 推理: AppScan 识别了不是通过 SSL 发送的登录请求. 测试请求和响应: 1.1.1 产生的原因 登录接口,前端传入的密码参数没有经过md5的加密就直接传给了后端 1. ...