1. 程式人生 > >1224 哥德巴赫猜想(2)

1224 哥德巴赫猜想(2)

1224 哥德巴赫猜想(2)

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others)

Submits : 1564 | Solved : 629

Description

所謂哥德巴赫猜想,就是指任何一個大於2的偶數,都可以寫成兩個素數的和。現在輸入一個偶數,要求尋找兩個素數,使其和等於該偶數。由於可能有多組素數對滿足條件,所以本題要求輸出兩數差最小的那兩個素數。


Input

輸入一個偶整數MM大於2

Output

對於每個偶數,輸出兩個彼此最接近的素數,並且其和等於該偶數。(輸出時兩個素數小的在前,大的在後)。


Sample Input

20 

Sample Output

7 13

HINT


Source

NBU OJ
解題思路:最開始用的素數篩選法沒過...。
AC程式碼:
import java.util.Scanner;

public class Main {
	private static Scanner sc;

	public static void main(String[] args){
		int m,x=1,y=1;
		sc = new Scanner(System.in);
		int[] a=new int[1000];
		m=sc.nextInt();
		if(m==4){
			System.out.println(2+" "+2);
		}
		else{
			int min=0,max=0;
			for(int i=m/2;i>=0;i--){
				max=m-i;
				min=i;
				if(min%2!=0&&max%2!=0&&i>1){
					x=0;y=0;
					for(int j=2;j<=(int)Math.sqrt(max);j++){
						if(max%j==0)
							x=1;
					}
					for(int j=2;j<=(int)Math.sqrt(min);j++){
						if(min%j==0)
							y=1;
					}
					if(x==y&&x==0){
						System.out.println(min+" "+max);
						break;
					}
				}
			}
			
		}
	}

}


相關推薦

1224 猜想2

1224 哥德巴赫猜想(2) Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1564 | Solved : 629 D

驗證猜想C++

哥德巴赫猜想: 1)任一不小於6的偶數,都可以表示成兩個奇質數之和 2)任一不小於9的奇數,都可以表示成三個奇質數之和 尤拉也提出另一個等價版本,即任一大於2的偶數都可寫成兩個質數之和。尤拉的命題比哥德巴赫的命題要求更高。現通常把這兩個命題統稱為哥德巴赫猜想。 演算法: 將6~n

6-2 使用函式驗證猜想 20 point(s)

6-2 使用函式驗證哥德巴赫猜想 (20 point(s)) 本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int

Codeforces Round #324 (Div. 2) B排列組合C貪心D猜想 數論+暴力

題意:。。。。 思路:剛開始還想用什麼字串模擬或者大數什麼的,後來想了想差點笑出聲來,樣例就是用來忽悠人的。。。 #include <bits/stdc++.h> #define ll

6-2 使用函式驗證猜想20 分

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。函式介面定義:int prime( int p ); void Goldbach( int n ); 其中函式prime當用戶傳入引

洛谷——P1579 猜想升級版

驗證 一個空格 i++ -s define while char pac algorithm P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數之和。質數是指除

洛谷 P1579 猜想升級版

== bar spa class badge bsp span lba -c P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數

ACM_猜想素數篩

ont other turn desc 簡單 rim 全部 == pan 哥德巴赫猜想 Time Limit: 2000/1000ms (Java/Others) Problem Description: 哥德巴赫猜想大概是這麽一回事:“偶數(>=4) ==

P1579 猜想升級版 <洛谷> (C++)(篩法選素數)

時間 turn std str ems main math mem num 兩層循環找到其中兩個值,最後一個值由輸入的num減去他們的和可得到,若都是質數則可以輸出 篩法選素數可稍微優化判斷素數的時間 代碼如下 #include<stdio.h> #inclu

P1579 猜想升級版----打表法

P1579 哥德巴赫猜想(升級版) 題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家尤拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數之和。質數是指除了1和本身之外沒有其他約數的數,如2和11都是質數,而6不是質數,因為6除了約數1和6之外還有約數2和3。需要特

6-3 使用函式驗證猜想 10 分c語言解答附上我覺得注意點

6-3 使用函式驗證哥德巴赫猜想 (10 分) 本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int p ); vo

搜尋題 P1579 猜想升級版 洛谷 簡單

題目背景 1742年6月7日哥德巴赫寫信給當時的大數學家尤拉,正式提出了以下的猜想:任何一個大於9的奇數都可以表示成3個質數之和。質數是指除了1和本身之外沒有其他約數的數,如2和11都是質數,而6不是質數,因為6除了約數1和6之外還有約數2和3。需要特別說明的是1不是質數。 這就是哥德巴

PTA 7-3 驗證“猜想20 分判斷素數標準方法

數學領域著名的“哥德巴赫猜想”的大致意思是:任何一個大於2的偶數總能表示為兩個素數之和。比如:24=5+19,其中5和19都是素數。本實驗的任務是設計一個程式,驗證20億以內的偶數都可以分解成兩個素數之和。輸入格式:輸入在一行中給出一個(2, 2 000 000 000]範圍內的偶數N。輸出格式:在一行中按照

7-6 驗證“猜想20 分

一、題目 二、個人理解 此題本質上就是考素數判斷。 思想很簡單,但是最大數會執行超時。這裡介紹一種簡單的素數,即只對奇數進行判斷,並對數進行一次開方。 在此我希望大家即使不掌握高深的素數判

驗證“猜想20 分

7-111 驗證“哥德巴赫猜想”(20 分)數學領域著名的“哥德巴赫猜想”的大致意思是:任何一個大於2的偶數總能表示為兩個素數之和。比如:24=5+19,其中5和19都是素數。本實驗的任務是設計一個程式

習題6-5 使用函式驗證猜想 20 分

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int p ); void Goldbach( int n ); 其中

猜想驗證2000以內的正偶數能夠分解成兩個素數之和

哥德巴赫猜想:           任何一個大於6的偶數都可以表示成兩個素數之和,任何一個大於9的奇數都可以表示成三個素數之和。 試驗證2000以內的正偶數能夠分解成兩個素數之和: #include

驗證猜想for迴圈及其優化

1.問題描述:任何一個大於6的偶數,都能分解成兩個質數的和。要求輸入一個整數,輸出這個整數能被分解成哪兩個質數的和。 2.思路分析:可以使用窮舉法,即使用for迴圈列出所有可能的情況再使用if條件判斷濾去不符合條件的組合。注意先要對使用者輸入的數進行合法判斷

15OJ題——驗證猜想素數問題

/*  * Copyright (c) 2014, 煙臺大學計算機學院  * All rights reserved.  * 檔名稱:test.cpp  * 作    者:李曉凱  * 完成日期:2

Codeforces Round #382 (Div. 2) -- D. Taxes 數學 -- 猜想, 唯一分解定理

Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is equal to n (n ≥ 2) burles and the amount