首页 > 编程语言 >PAT-basic-1007 素数对猜想 java

PAT-basic-1007 素数对猜想 java

时间:2023-02-18 12:33:06浏览次数:51  
标签:dn java 猜想 int 素数 basic 1007 Scanner

一、题目

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

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

输入格式:
输入在一行给出正整数N。

输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:
20
输出样例:
4

二、解析

用两个变量来表示迭代过程中遇到的相邻的素数。

三、代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int count = 0;
        int n = input.nextInt();
        int p1 = -1;
        int p2 = -1;
        for(int i=1; i<=n; i++){
            if (isPrime(i)) {
                p2 = p1;
                p1 = i;
                if(p1 - p2 == 2) count++;
            }
        }
        System.out.println(count);
    }
    public static boolean isPrime(int num){
        if(num == 1) return false;
        if(num == 2) return true;
        int limit = (int)Math.sqrt(num);
        for(int i=2; i<=limit; i++){
            if(num % i == 0) return false;
        }
        return true;
    }
}

标签:dn,java,猜想,int,素数,basic,1007,Scanner
From: https://www.cnblogs.com/langweixianszu/p/17132338.html

相关文章

  • Java集合框架
    Java集合框架Java的集合框架大致分为两个部分:Collection:主要有List、Set、Queue组成。Map:主要是HashMap,代表是键值对的集合。ListList的特点是存取有序,可以存放重......
  • Javascript与HTML5的canvas实现图片旋转效果
    ​​查看演示​​我们在微博上可以对图片进行向左转向右转等旋转操作,让用户可以从不同的视角欣赏图片效果。本文将结合实例为您讲解如何使用Javascript结合相关技......
  • 【JavaScript】16_JS提升
    13、提升变量var的提升\-使用var声明的变量,它会在所有代码执行前被声明所以我们可以在变量声明前就访问变量(不推荐,不好维护)函数的提升\-......
  • 前端Javascript下载文件
    项目开发中经常会有导出数据到Excel类似的需求,或者是下载文档的需求。最简单的下载方式是直接请求服务端文件地址,通过浏览器http实现文件下载。但是开发中,由于项目需求,你要......
  • Java基础知识点(二维数组)
                       二维数组1.二维数组的定义方式有多种。下面介绍常见的三种方式:第一种:数据类型[][]数组名=new数据类型[行的......
  • java的long的小l和大L区别
    首先几乎在所有位置,long的小写和大写都可以互相替换。其次L本质是对象,不是基础类型,具有Object的特性。包装类把基本类型转换为对象,每个基本类型在java.lang包中都有一个相应......
  • Java @Data注解
    1、@Data注解是lombok.jar包下的注解,该注解通常用在实体bean上,不需要写出set和get方法,但是具备实体bean所具备的方法,简化编程提高变成速度。 2、@Data相当于@Getter@Sette......
  • 读Java实战(第二版)笔记13_Java模块系统
    1. NicolaiParlog编写的TheJavaModuleSystem1.1. 推荐阅读2. Jigsaw项目2.1. 开发持续了将近十年3. 关注点分离3.1. separationofconcern,SoC3.2. 将......
  • AcWing 787.归并排序(Java)
    题目来源:https://www.acwing.com/problem/content/description/789/题目描述给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将......
  • java的面向对象
    面向对象OOP什么是面向过程​ 第一步是什么,然后第二部...什么是面向对象​ 物以类聚,分类的思维​描述复杂性的事物以类的方式组织代码,以对象的组织(封装)数据抽......