데이터 구조 (b) - <추구 = N이 최대의 소수

Q : 정수 N에 이하인 최대 소수 해결

A : 그 소수에 의해 나누어 질 수없는 경우에서 N 철저한 열거 메소드는 나눌 수를 2로 한, √N 하나 √N한다.

팁 : 정수 N이 소수가 아닌 경우가 승산기 다른 루트 N보다 크거나 같은 N의 제곱근 이하인 상기 두 개의 정수의 곱으로 분해 될 수있는 것보다, 그 작아야한다.

N 표시 사이에 어떻게 가장 큰 소수가 루트 N에 있어야 증명?

A : 버트 랜드 - 체비 셰프의 정리

 

// 각 인자 범위의 n 개의 행 (n)의 루트를 판정 N에 의해 커버 될 수 
#INCLUDE <iostream> 
#INCLUDE <cstdio> 
#INCLUDE <cmath>
 은 USING  공간 ; STD 

INT 의 main () {
     INT의 N; 
    CIN >> N-,
     INT의 D = ( INT ) SQRT (N-) // D : 경계 
     ( INT I = N-; I> = D; 난 ...) { // 하나씩 체크 내림차순 
        INT J]
         에 대한 (J = 2 , J <= D, J ++ ) {
             IF (% I J == 0 ) BREAK를 ; 
        } 
        IF(j> d) {의 printf ( " % D \ 없음 " , I); 휴식 ;} 
    } 
    반환  0 ; 
}
코드보기

 

추신 : 산술 문제 해결 전략 및 수학적 사고 유용한 링크.

연속 근사 사고, 이차 방정식 뿌리 예 반복적 인 방법.

간단한 원리는 제인 유 팬에 문제를 분해합니다

추천

출처www.cnblogs.com/SUMaywlx/p/11520069.html