cf1076B

做完这道题感觉自己是个弱智,做题时一定在梦游。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

using namespace std;
long long (long long n){
long long i = 2;
while(i*i <= n){
if(n%i == 0) return i;
i++;
}
return n;
}

int main()
{
long long n,ans = 0;
cin>>n;
if(n%2 != 0){
n -= min_prime(n);
ans++;
}
cout<<ans+(n/2)<<endl;
return 0;
}