Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ///descompunerea in factori primi -62
- /// nr - numarul de divizori
- /// sd -suma divizorilor
- /// phi -indica lui Euler = numarul de numere mai mici decat n si prime cu n
- int main()
- {
- long long n,d,p;
- int nr=1;
- double sd=1;
- double phi;
- cin>>n;
- phi=n;
- d=2;
- while(n!=1)
- {
- p=0;
- while(n%d==0)
- {
- p++;///puterea la care apare d
- n/=d;
- }
- if(p!=0)
- {
- nr*=p+1;
- sd*=(pow(d,p+1.)-1.)/(d-1);
- phi*=(d-1.)/d;
- }
- if(d*d<n)d++;
- else d=n;
- }
- cout<<"nr de divizori: "<<nr<<'\n';
- cout<<"suma divizori: "<<(int)sd<<'\n';
- cout<<"indic lui euler: "<<(int)phi<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement