Pagini recente » Cod sursa (job #1528936) | Cod sursa (job #2789741) | Cod sursa (job #1821631) | Cod sursa (job #2199966) | Cod sursa (job #1644913)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
std :: ifstream f("ssnd.in");
std :: ofstream g("ssnd.out");
bool prim (int x)
{
if(x<2)
return 0;
else
for (int d=2; d*d<=x; d++)
if(x%d==0)
return 0;
return 1;
}
void nrdivizori (int x)
{
int p, nr, d, s;
p=1; d=2, s=1;
while (x!=1)
{
nr=0;
while (x%d==0)
{
nr++;
x/=d;
}
p*=(nr+1);
s*=(pow(d, nr+1)-1)/(d-1);
d++;
}
if(prim(x)==0)
s++;
g << p << ' '<< s << '\n';
}
int main()
{
float n, t, i;
f >> t;
for (i=1; i<=t; i++)
{
f >> n;
nrdivizori(n);
}
}