Pagini recente » Cod sursa (job #2491484) | Cod sursa (job #394680) | Autentificare | Cod sursa (job #2465083) | Cod sursa (job #652231)
Cod sursa(job #652231)
#include <fstream>
#include <cmath>
using namespace std;
bool prim(int);
void Nr_Sum_Div(int, int&, int&);
int main()
{
int i, t, x, d, s;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f >> t;
for(i = 0; i < t; i++)
{
f >> x;
if(prim(x)) g << "2" << " " << (x+1) << endl;
else
{
d = s = 0;
Nr_Sum_Div(x, d, s);
g << d << " " << s << endl;
}
}
return 0;
}
bool prim(int x)
{
auto int i, j;
for(i = 2, j = sqrt(static_cast<double>(x)); i <= j; i++)
if(!(x % i))
return false;
return true;
}
void Nr_Sum_Div(int x, int &d, int &s)
{
auto int i, j;
for(i = 2, j = (x >> 1); i <= j; i++)
{
if(!(x % i))
{
d++;
s += i;
}
}
d += 2;
s += (1 + x);
}