思路:
n如果是偶数,那么之后的d只能是2,可以直接得到答案
如果是奇数,那可以通过一次减d,变成偶数,
或者这个数本身就是素数
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
int main() {
scanf("%lld", &n);
for(ll i = 2; i*i <= n; ++i) {
if(n%i == 0) {
return 0*printf("%lld", (n-i)/2+1);
}
}
printf("1");
return 0;
}