Pagini recente » Cod sursa (job #1331134) | Cod sursa (job #3126119) | Cod sursa (job #3207980) | Cod sursa (job #2162149) | Cod sursa (job #2192159)
#include <bits/stdc++.h>
using namespace std;
long long n, x, i;
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;
}
long long nrdiv(long long numar)
{
long long k, ct = 0;
for(k = 2; k * k <= numar; k ++)
if(numar % k == 0) ct ++;
ct = ct * 2;
if(k * k == numar) ct ++;
return ct;
}
bool numarPrim(long long numar)
{
if(numar < 2) return false;
if(numar == 2) return true;
for(int i = 2; i <= numar / 2; i++)
if(numar % i == 0) 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(numarPrim(x))
{
fout << 2 << " " << x+1;
fout << endl;
}
else fout << nrdiv(x) +2 << " " << sum_div(x);
fout << endl;
}
return 0;
}