• PAT——1007. 素数对猜想


    让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

    现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。

    输入格式:每个测试输入包含1个测试用例,给出正整数N。

    输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。

    输入样例:

    20
    

    输出样例:

    4


     1 package com.hone.basical;
     2 import java.util.Scanner;
     3 
     4 
     5 /**
     6  * 原题目:https://www.patest.cn/contests/pat-b-practise/1007
     7  * @author Xia
     8  * 第一次做的时候是按照判断每一个数是否是素数,然后添加到list中(容易理解,但是超时)
     9  * 现在一直判断数据对是否是素数,先判断a是否是素数,再判断a+2是否是素数。
    10  */
    11 public class basicalLevel1007PrimeNumGuess {
    12     
    13     public static void main(String[] args) {
    14         //m用于记录素数对
    15         int m =1;
    16         Scanner input = new Scanner(System.in);
    17         int n = input.nextInt();
    18         if(n < 3){
    19             System.out.println(0);
    20         }
    21         else if (n == 3) {
    22             System.out.println(1);
    23         }else{
    24             for (int i = 5; (i+2) <= n; ) {        //下面从四种情况来讨论
    25                 if (isPrime(i)) {
    26                     if (isPrime(i+2))
    27                         m++;
    28                     i = i+4;
    29                 }else {
    30                     if (isPrime(i+2))
    31                         i = i+2;
    32                     else 
    33                         i = i+4;
    34                 }
    35             }
    36             System.out.println(m);    
    37     }
    38 }
    39 
    40     //判断是否是素数
    41 public static boolean isPrime(int a){
    42     boolean flag = true;
    43     for (int i = 2; i <= Math.sqrt(a); i++) {
    44         if (a%i == 0) {
    45             flag = false;
    46             break;
    47         }
    48     }
    49     return flag;
    50 }
    51 }

  • 相关阅读:
    [Matlab.Matrix] 作为判断条件
    [Matlab.GUI] 学习小结
    [Modelsim] 初识
    [Matlab] isnan
    [Matlab] round
    [VS2012] 无法查找或打开 PDB 文件
    [Matlab.GUI]初识
    表格特效代码全集中
    JAVASCRIPT基础
    第4天:调用样式表
  • 原文地址:https://www.cnblogs.com/xiaxj/p/7977274.html
Copyright © 2020-2023  润新知