Pagini recente » Istoria paginii runda/885900/clasament | Cod sursa (job #1131671) | Cod sursa (job #3277566) | Cod sursa (job #2262837) | Cod sursa (job #2192157)
#include <bits/stdc++.h>
using namespace std;
long long n, x, i;
long long sumdiv(long long nr)
{
long long s = 0, d;
for(d = 1; d * d <= nr; d ++)
if(nr % d == 0) s = s + d + nr / d;
if(d * d == nr) s = s + d;
return s;
}
long long nrdiv(long long numar)
{
long long d, ct = 0;
for(d = 2; d * d <= numar; d ++)
if(numar % d == 0) ct ++;
ct = ct * 2;
if(d * d == numar) ct ++;
return ct;
}
long long prim(int a)
{
long long j;
if(a == 0 || a == 1) return false;
for(j = 2; j * j <= a; j ++) return false;
return true;
}
int main()
{
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
fin >> n;
for(i = 1; i <= n; i ++)
{
fin >> x ;
if(prim(x))
{
fout << "2" << " " << x+1;
fout << endl;
}
else fout << nrdiv(x) << " " << sumdiv(x);
fout << endl;
}
return 0;
}