#include <iostream>
using namespace std;
#define ll long long
int main()
{
ll n, wynik=0;
cin>>n;
for(ll ii=1;ii*ii<=n;ii++){
if(n%ii) continue;
ll i=ii;
ll tmp = (n-i)/i;
for(ll j=2;j*j<=tmp;j++){
if(tmp%j==0)
wynik++;
if(tmp%(tmp/j)==0 && tmp-(tmp/j)!=tmp/j)
wynik++;
if(j*j==tmp)
wynik--;
}
if(ii==1 || ii*ii==n) continue;
i=n/ii;
tmp = (n-i)/i;
for(ll j=2;j*j<=tmp;j++){
if(tmp%j==0)
wynik++;
if(tmp%(tmp/j)==0 && tmp-(tmp/j)!=tmp/j)
wynik++;
if(j*j==tmp)
wynik--;
}
}
cout<<wynik;
}
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 30 31 32 33 34 | #include <iostream> using namespace std; #define ll long long int main() { ll n, wynik=0; cin>>n; for(ll ii=1;ii*ii<=n;ii++){ if(n%ii) continue; ll i=ii; ll tmp = (n-i)/i; for(ll j=2;j*j<=tmp;j++){ if(tmp%j==0) wynik++; if(tmp%(tmp/j)==0 && tmp-(tmp/j)!=tmp/j) wynik++; if(j*j==tmp) wynik--; } if(ii==1 || ii*ii==n) continue; i=n/ii; tmp = (n-i)/i; for(ll j=2;j*j<=tmp;j++){ if(tmp%j==0) wynik++; if(tmp%(tmp/j)==0 && tmp-(tmp/j)!=tmp/j) wynik++; if(j*j==tmp) wynik--; } } cout<<wynik; } |
English