华为OJ训练之0017-170103-查找组成一个偶数最接近的两个素数
2017-03-19 17:06
323 查看
题目
===============================查找组成一个偶数最接近的两个素数
//任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对
==================================================
一次通过 100分
=====================================================
import java.util.ArrayList; import java.util.Scanner; // //任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 //请实现如下接口 // public static class PrimePair // { // public int primeMin; // public int primeMax; // } // public static PrimePair findPrimeNumber(int number) // { // /* 请实现 */ // // // return null; // } // //譬如:输入20 ,输出 7 13 //约束 //number为输入的偶数,5 < inum <= 10000 public class oj017 { public static PrimePair pp=new PrimePair(); public static class PrimePair { public int primeMin=0; public int primeMax=10000; } public static PrimePair findPrimeNumber(int number) { /* 请实现 */ for(int i=1;i<number;i++) { if(isPrime(i)&&isPrime(number-i)) //两个数都是素数 { // System.out.println(i); if((pp.primeMax-pp.primeMin)>(number-i-i>0?(number-i-i):(i+i-number))) { // System.out.println(i); pp.primeMin=i; pp.primeMax=number-i; } } } return pp; } public static boolean isPrime(int n) { boolean re=true; for(int i=2;i<n;i++) { if(n%i==0){re=false;break;} } return re; } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int number=scanner.nextInt(); oj017.PrimePair pp=oj017.findPrimeNumber(number); System.out.println(pp.primeMin); System.out.println(pp.primeMax); //需使用返回的值 不能直接使用类的静态成员 } }
相关文章推荐
- 华为机试在线训练-牛客网(28)查找组成一个偶数最接近的两个素数
- 华为oj_查找组成一个偶数最接近的两个素数
- 华为OJ(查找组成一个偶数最接近的两个素数)
- 华为OJ:查找组成一个偶数最接近的两个素数
- 华为OJ 查找组成一个偶数最接近的两个素数 Java实现
- Java算法---华为oj查找组成一个偶数最接近的两个素数
- 华为OJ 查找组成一个偶数最接近的两个素数
- 华为OJ——查找组成一个偶数最接近的两个素数
- 华为OJ 初级:查找组成一个偶数最接近的两个素数
- 【华为OJ】【079-查找组成一个偶数最接近的两个素数】
- 【华为oj】查找组成一个偶数最接近的两个素数
- 华为OJ平台——查找组成一个偶数最接近的两个素数
- 【华为 OJ 】查找组成一个偶数最接近的两个素数
- 华为OJ——查找组成一个偶数最接近的两个素数
- 华为OJ——查找组成一个偶数最接近的两个素数
- 华为oj 查找组成一个偶数最接近的两个素数
- 华为oj初级 查找组成一个偶数最接近的两个素数
- 【华为OJ】【051-查找组成一个偶数最接近的两个素数】
- 华为OJ基础篇-查找组成一个偶数最接近的两个素数
- 华为机试---查找组成一个偶数的最接近的两个素数