Cod sursa(job #1580820)
Utilizator | Data | 26 ianuarie 2016 10:11:22 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
int n,d,p,nr,sum,l,t;
int main()
{
f>>t;
for(int j=1;j<=t;j++){
f>>n;
d=2; p=0; nr=1; sum=1; l=0;
while(n>1){
p=0;
while(!(n%d))
{n/=d; p++;}
nr*=(p+1);
l=d;
for(int i=1;i<=p;i++)
l*=d;
sum*=((l-1)/(d-1));
d++;
}
g<<nr<<' '<<sum<<'\n';
}
return 0;
}