기문 공상 분석: 간단한 제목으로 말하자면

6189 단어 간단히
제목: 6~60의 짝수에 대해 고드바흐의 추측을 검증해 보자. 6보다 적지 않은 짝수는 2개의 소수의 합으로 분해될 수 있다.
누군가가 다음과 같은 코드를 제시했다.
<!--
body.hl { background-color:#eeeeee; }
pre.hl { color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';}
.hl.num { color:#800080; font-weight:bold; }
.hl.esc { color:#ff00ff; font-weight:bold; }
.hl.str { color:#a68500; }
.hl.dstr { color:#0000ff; }
.hl.slc { color:#f27900; }
.hl.com { color:#ff8000; }
.hl.dir { color:#0080c0; font-weight:bold; }
.hl.sym { color:#ff0080; font-weight:bold; }
.hl.line { color:#303030; }
.hl.mark { background-color:#ffffbb;}
.hl.kwa { color:#bb7977; font-weight:bold; }
.hl.kwb { color:#8080c0; font-weight:bold; }
.hl.kwc { color:#0080c0; }
.hl.kwd { color:#004466; }
//-->
    1 /*

    2   Name:

    3   Copyright:

    4   Author:

    5   Date: 13/06/12 14:42

    6   Description:

    7            ,P37,  7, 1 

    8          6~60   ,        :   6        2     。

    9 */

   10 

   11 #include<iostream>

   12 using namespace std;

   13 

   14 /*  a(a>=2)     ,

   15   :1:   ;0:    。*/

   16 int f(int a) {

   17     int m=2;

   18     while (a%m!=0) m++;

   19     if(m==a) return 1;

   20     else return 0;

   21 }

   22 

   23 int main() {

   24     int a,

   25         b,

   26         x,

   27         m;

   28 

   29     for(x=6;x<=60;x=x+2) {

   30         for(a=2;a<=x-1;a++) {

   31             b=x-a;

   32             if(f(a)==1 && f(b)==1) {

   33                 cout<<x<<"="<<a<<"+"<<b<<endl;

   34             }

   35         }

   36     }

   37 

   38     system("pause");

   39     return 0;

   40 }

이 코드는 정확한 운행 결과를 얻을 수 있지만,... 그것은 정말 너무 느리게 달린다.
지금 문제를 들어보세요. 왜 그런가요?
구체적인 소스 코드는 http://sdrv.ms/Oxt0Z8 참조
아래에 댓글로 대답해 주세요.

좋은 웹페이지 즐겨찾기