码迷,mamicode.com
首页 > 其他好文 > 详细

[Offer收割]编程练习赛12 题目1 : 歌德巴赫猜想

时间:2017-04-03 17:01:45      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:scanner   can   并且   []   log   输出   输入   strong   false   

 

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

哥德巴赫猜想认为“每一个大于2的偶数,都能表示成两个质数之和”。

给定一个大于2的偶数N,你能找到两个质数P和Q满足P<=Q并且P+Q=N吗?

输入

一个偶数N(4 <= N <= 1000000)

输出

输出P和Q。如果有多组解,输出P最小的一组。

样例输入
10
样例输出
3 7

 

思路

判断和为N两个数是否为素数

代码

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4 
 5     public static boolean isPrim(int n) {
 6         for (int i = 2; i * i <= n; i++) {
 7             if (n % i == 0) {
 8                 return false;
 9             }
10         }
11         return true;
12     }
13 
14     public static void main(String[] args) {
15         Scanner sc = new Scanner(System.in);
16         int n = sc.nextInt();
17         for (int i = 2; i + i <= n; i++) {
18             if (isPrim(i) && isPrim(n - i)) {
19                 System.out.println(i + " " + (n - i));
20                 break;
21             }
22         }
23     }
24 }

 

[Offer收割]编程练习赛12 题目1 : 歌德巴赫猜想

标签:scanner   can   并且   []   log   输出   输入   strong   false   

原文地址:http://www.cnblogs.com/deadend/p/6662219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!