基础算法练习200题13、判断质数

简介: 基础算法练习200题13、判断质数

题目:


输入一个数字n,判断这个数字是否是质数。


输入样例:5


输出样例:true


样例范围:1~10^10


题解:


这个题目不难,其实不可能出现超时。一般的数字都能在百次循环内判断完毕。


暴力编码:

package com.item.action;
import java.util.Scanner;
/**
 * 
 * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu
 *
 */
public class demo13 {
  public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner sc = new Scanner(System.in);
  long l = sc.nextLong();
  sc.close();
  for (long i = 2; i < l; i++) {
    if(l%i==0) {
    System.out.println(false);
    return;
    }
  }
  System.out.println(true);
  }
}


质数:


质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。


以下15个区间内质数和孪生质数的统计数。


S1区间1——72,有素数18个,孪生素数7对。(2和3不计算在内,最后的数是孪中的也算在前面区间。)


S2区间73——216,有素数27个,孪生素数7对。


S3区间217——432,有素数36个,孪生素数8对。


S4区间433——720,有素数45个,孪生素数7对。


S5区间721——1080,有素数52个,孪生素数8对。


S6区间1081——1512,素数60个,孪生素数9对。


S7区间1513——2016,素数65个,孪生素数11对。


S8区间2017——2592,素数72个,孪生素数12对。


S9区间2593——3240,素数80个,孪生素数10对。


S10区间3241——3960,素数91个,孪生素数19对。


S11区间3961——4752素数92个,孪生素数17对。


S12区间4752——5616素数98个,孪生素数13对。


S13区间5617——6552素数108个,孪生素数14对。


S14区间6553——7560素数113个,孪生素数19对。


S15区间7561——8640素数116个,孪生素数14对。


素数分布规律的发现,许多素数问题可以解决。


质数具有许多独特的性质:


(1)质数p的约数只有两个:1和p。

(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。

(3)质数的个数是无限的。

(4)质数的个数公式π(n)是不减函数。

(5)若n为正整数,在n^2到(n+1)^2 之间至少有一个质数。

(6)若n为大于或等于2的正整数,在n到n!之间至少有一个质数。

(7)若质数p为不超过n(n>=4)的最大质数,则\frac{n}{2}"> 。

(8)所有大于10的质数中,个位数只有1,3,7,9。

相关文章
|
机器学习/深度学习 算法
【算法基础】筛质数
【算法基础】筛质数
64 0
|
6月前
|
人工智能 算法 C++
c++算法学习笔记 (17) 质数
c++算法学习笔记 (17) 质数
|
6月前
|
算法
算法题解-计数质数
算法题解-计数质数
|
6月前
|
机器学习/深度学习 算法 vr&ar
☆打卡算法☆LeetCode 204. 计数质数 算法解析
☆打卡算法☆LeetCode 204. 计数质数 算法解析
|
算法
算法创作|质数计数问题解决方法
算法创作|质数计数问题解决方法
49 0
|
算法 前端开发 索引
前端算法-质数计数
前端算法-质数计数
|
算法
数据结构115-普通判断质数算法
数据结构115-普通判断质数算法
58 0
数据结构115-普通判断质数算法
|
算法
数据结构117-高效判断质数算法
数据结构117-高效判断质数算法
71 0
数据结构117-高效判断质数算法
|
算法
数据结构118-高效判断质数算法
数据结构118-高效判断质数算法
63 0
|
算法
基础算法练习200题16、打印质数
基础算法练习200题16、打印质数
85 0
基础算法练习200题16、打印质数
下一篇
无影云桌面