素数是个什么东西 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 ...
随机推荐
- 十分钟了解MES系统的发展历程和标准体系
大家好,我是Edison. 上一篇,我们通过一个点菜的故事快速地了解了MES系统都能做哪些事儿<三分钟快速了解什么是MES系统>,相信大家都有了一个基本的感性认知.本篇,我们将时间拨回几十 ...
- Nginx使用Lua脚本连接Redis验证身份并下载文件
目录 安装Nginx 下载 解压安装包 安装依赖 安装 启动 测试访问 安装LuaJIT 安装ngx_devel_kit 安装lua-nginx-module 在已安装的Nginx中添加Lua模块 L ...
- 【HTML】TinyMCE 编辑器
HTML编辑器 一.页面效果 二.引入JS.CSS <!DOCTYPE html> <html lang="en"> <head> <me ...
- kaggle中训练得到的output太大该怎么下载?
最近在使用Kaggle平台训练自己的模型,但是训练结束之后由于模型过大导致output那里一直在加载(转圈),即使加载出来点击download也没有反应 下面借鉴知乎大佬的方法可以完美解决!通过将其压 ...
- hexo博客yilia主题_more截断文章_多标签添加
以下均为自己遇到的问题并加以修改或者纠正. 在文章下方可以使用more语句进行截断,这样博客首页只会出现文章的前面一小部分,看起来很清爽简约 或者 language: zh-CN <!--mor ...
- 层叠样式表(CSS)3
三.层叠样式表属性 1.文字属性 font-size:字体大小 line-height:行高 font-family:字体 font-weight:粗细程度 .......等等很多,可自行学习 2.文 ...
- Uncaught TypeError: Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.
musicSeekTo: function(value){this.audio.currentTime = this.audio.duration*value; }, musicVoiceSeekTo ...
- 王道oj/problem18
网址:略 思路:见注释:有bug:插入时1和2的结果正好相反,稍后编辑. 代码: #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#incl ...
- 从read 系统调用到 C10M 问题
一.前言 从上个世纪到现在,工程师们在优化服务器性能的过程中,提出了各种不同的io模型,比如非阻塞io,io复用,信号驱动式io,异步io.具体io模型在不同平台上的实现也不一样,比如io复用在bsd ...
- [jmeter]简介与安装
简介 JMeter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能. 安装 安装jmeter 从 官网 下载jmeter的压缩包 安装jdk并配置 JAVA_H ...