Pagini recente » Cod sursa (job #2731969) | Cod sursa (job #1627127) | Cod sursa (job #236086) | Cod sursa (job #2643216) | Cod sursa (job #2474173)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
long long divizori(long n)
{
long d=2,p=0,x=1,s=1;
while(n>1)
{
p=0;
while(n%d==0)
{
p++;
n=n/d;
}
if(p>0)
x=x*(p+1);
if(d==2)
d++;
else
d=d+2;
}
return x;
}
long long suma(long long n)
{
long i,s=0;
for(i=1;i*i<=n;i++)
{
if(n%i==0)
{
s=s+i;
if(i*i<n)
s=s+(n/i);
}
}
return s;
}
int main()
{
long long n,i,x;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>x;
g<<divizori(x)<<" "<<suma(x)<<endl;
}
return 0;
}