哥德巴赫猜想。
如果$n$是素数,答案为$1$。
如果$n$不是素数,但$n$是偶数,由哥德巴赫猜想可知答案为$2$。
如果$n$不是素数,且$n$为奇数,此时可以将$n$拆成$3+$偶数或者$2+$素数的形式,前者答案为$3$,后者答案为$2$。
#include
using namespace std;bool f(long long x)
{for(long long i&#61;2;i*i<&#61;x;i&#43;&#43;){if(x%i&#61;&#61;0) return 0;}return 1;
}int main()
{long long n;int ans;cin>>n;if(f(n))ans&#61;1;else {if(n%2&#61;&#61;0) ans&#61;2;else {if(f(n-2)) ans&#61;2;else ans&#61;3;}}cout<<ans;return 0;
}