标签:center 大于 很多 ace 出现 因子 pac main 实现
给出一个整数n,n可以由很多其他数的和组成,但不能出现1,当然也可以不拆分,然后问你:给你个n然后让你求n的最大因子为多少(不包括n本身),然后如果n被拆分的话,就是求拆分出来的这些数的因子和,规矩同上。
哥德巴赫猜想:任何一个大于二的偶数都可以分解为两个素数和。 然后假如是奇数的话,直接特判下就好了。
//链接:https://codeforces.com/problemset/problem/735/D
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 5;
bool f(ll n){
for(int i = 2; i * i <= n; i++){
if(n%i==0) return 0;
}
return 1;
}
int main(void) {
ll n;
cin >> n;
if(f(n)){
cout<<1<<endl;
return 0;
}
if(n%2==0){
if(n==2) cout<<1<<endl;
else cout<<2<<endl;
return 0;
}
else{
if(f(n-2)) cout<<2<<endl;
else cout<<3<<endl;
}
return 0;
}
标签:center 大于 很多 ace 出现 因子 pac main 实现
原文地址:https://www.cnblogs.com/AC-AC/p/12524347.html