天天看點

基礎算法練習200題13、判斷質數

基礎算法練習200題13、判斷質數
      為了幫助很多想搞算法但又害怕自己搞不定的孩子們,老師付準備了200個入門的邏輯練習題,在這200個邏輯練習題下可以加強你們的基礎算法能力,以次為基礎當面對正式的算法題目的時候可以得心應手的面對。 

題目:

輸入一個數字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對。