Pagini recente » Cod sursa (job #2280718) | Cod sursa (job #2649876) | Cod sursa (job #2976719) | Cod sursa (job #2312087) | Cod sursa (job #2227639)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int nrdiv(int nr)
{
int d = 2, fm, nrd = 1;
do
{
fm = 0;
while(nr % d == 0)
{
nr/= d;
fm ++;
}
if(fm > 0) nrd = nrd * (fm + 1);
d ++;
if(nr > 1 && d * d > nr) nrd = nrd * 2, nr = 1;
}while(nr > 1);
return nrd;
}
int sum_div(int a)
{
int d;
long long s = 0;
for(d=1;d*d<a;d++)
if(a%d==0) s=s+d+a/d;
if(d*d==a) s=s+d;
return s;
}
int main()
{
signed long long x, n, i;
f >> n;
for(i = 1; i <= n; i ++)
{
f >> x;
g << nrdiv(x) << " " << sum_div(x) << "\n";
}
return 0;
}