题目:
输入一个数字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。