どこでもドア: http://codeforces.com/contest/735/problem/D
数论:哥德巴赫猜想
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
bool isprime(int n)
{
if(n <= 1) return false;
int k = sqrt(n);
for(int i = 2; i <= k; i++){
if(n % i == 0) return false;
}
return true;
}
int main()
{
int n;
cin >> n;
if(n ==2||n==3||n==5) cout <<"1"<< endl;
else{
if(n % 2 == 0) cout <<"2" << endl;
else{
if(isprime(n)) cout <<"1"<< endl;
else if(isprime(n-2)) cout <<"2" << endl;
else cout <<"3"<< endl;
}
}
return 0;
}