#include <iostream>
using namespace std;
using ll = long long;
int count(int n) {
int ret = 0;
for(ll a=2;a*a<=n;++a) {
if(n%a) continue;
if(n > 2*a) ++ret;
if(a*a != n && a > 2) ++ret;
}
return ret;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n;
cin>>n;
ll ans = 0;
for(ll x=1;x*x <= n; ++x) {
if(n%x) continue;
ans += count(n/x - 1);
if(x*x != n && x != 1)
ans += count(x - 1);
}
cout << ans << endl;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <iostream> using namespace std; using ll = long long; int count(int n) { int ret = 0; for(ll a=2;a*a<=n;++a) { if(n%a) continue; if(n > 2*a) ++ret; if(a*a != n && a > 2) ++ret; } return ret; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n; cin>>n; ll ans = 0; for(ll x=1;x*x <= n; ++x) { if(n%x) continue; ans += count(n/x - 1); if(x*x != n && x != 1) ans += count(x - 1); } cout << ans << endl; } |
English