증명만 있으면 됩니다. 골드바흐 추측.
2662 단어 cppmathcomputerscience
미해결 수학 문제만 풀면 쉽게 부자가 될 수 있을 거라 생각했는데, '가장 간단한 수학 미제'라는 키워드로 인터넷 서핑을 하다가 수학에 천박해서 포기하고 말았다.
내가 관심을 갖는 문제 중 하나는 "Goldbach Conjecture"를 시도하는 것입니다. 매우 간단합니다. 2보다 큰 정수만 2개의 소수에서 더할 수 있습니다. 대답하지 않고 내 컴퓨터 과학 배경을 사용하여 증명하는 것이 흥미 롭습니다.
골드바흐 추측은 1742년 크리스티안 골드바흐가 오일러에게 보낸 편지에서 처음 언급되었습니다. 그의 편지에서 골드바흐는 4보다 크거나 같은 숫자도 두 소수의 합으로 나타낼 수 있다고 보고했지만, 다음의 참을 증명하는 데는 실패했습니다. 그의 추측.
저는 C++ 프로그래밍 언어를 사용하여 증명했습니다. 이것은 대략 다음과 같습니다.
먼저 정수를 반환하는 함수를 선언합니다.
int is_prime(int n){
int num = 1;
for (int i = 2; i < n/2; i++){
if((n%i) == 0){
return num-1;
}
}
return num;
}
다음 단계는 이 수학적 문제의 논리에 대한 절차를 만드는 것입니다.
void solve(){
int number = 0;
int primes[100000] = {2};
int j = 0;
while(true){
std::cout<<"Input even number:";
std::cin>>number;
if(number > 2 && number % 2==0){
if(primes[j]<number){
for (int i = primes[j]+1; i < number; i++){
if(is_prime(i) == 1){
j++;
primes[j] = i;
}
}
}
for (int i = 0; i < j; i++){
for (int k = 0; k < j; k++){
if(primes[i] + primes[k] == number){
std::cout<<primes[i]<<" + "<<primes[k]<<" = "<<number<<std::endl;
break;
}
}
}
}
else{
std::cout<<"Input must a even numbers"<<std::endl;
}
}
}
마지막 단계는 메인 함수에 프로시저를 선언하는 것입니다.
int main(){
solve();
return 0;
}
다음은 출력입니다. 숫자 120을 입력했다고 가정해 보겠습니다.
잘못된 문법이나 시제를 전달했을 수도 있습니다. 죄송합니다. 저는 영어를 잘 못합니다 :)
참조
Wikipedia
List of unsolved math problem
Reference
이 문제에 관하여(증명만 있으면 됩니다. 골드바흐 추측.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ramareksotinoyo/attest-is-all-you-need-goldbach-conjecture-23i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)