#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; } |