Dima and Lisa CodeForces - 584D

1195 단어 초등 수론
http://codeforces.com/contest/584/problem/D
가드 바 흐 는 어느 하나 가 2 보다 큰 짝수 라 도 두 개의 질수 의 합 으로 쓸 수 있다 고 추측 했다 7 이상 의 기 수 는 모두 세 개의 소수 의 합 으로 쓸 수 있다.
작은 상식: 10 ^ 9 범위 내 에 인접 한 두 소수 차 이 는 300 을 초과 하지 않 습 니 다.
#include 
using namespace std;

bool judge(int n)
{
    int i;
    if(n==2||n==3) return true;
    for(i=2;i*i<=n;i++) if(n%i==0) return false;
    return true;
}

int main()
{
    int n,i,p;
    scanf("%d",&n);
    if(judge(n)) printf("1
%d
",n); else if(judge(n-2)) printf("2
%d %d
",2,n-2); else if(judge(n-4)) printf("3
%d %d %d
",2,2,n-4); else { for(i=2;i<=300;i++) { if(judge(n-i)) { p=i; break; } } if(judge(p)) printf("2
%d %d
",p,n-p); else { for(i=2;i<=p;i++) { if(judge(i)&&judge(p-i)) { printf("3
%d %d %d
",i,p-i,n-p); break; } } } } return 0; }

좋은 웹페이지 즐겨찾기