Pagini recente » Cod sursa (job #3130094) | Cod sursa (job #2387185) | Cod sursa (job #1680480) | Cod sursa (job #1854972) | Cod sursa (job #700981)
Cod sursa(job #700981)
#include<fstream>
#include<cmath>
#define NMAX 1000010
#define MMAX 100000
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int prim[MMAX], np;
bool ciur[NMAX];
/*void Ciur()
{
int i,j;
np=1; prim[np]=2;
for (j=4; j<NMAX; j+=2) ciur[j]=1;
for (i=3; i<NMAX; i+=2)
if (!a[i])
{
prim[++np]=i;
for (j=i+i; j<NMAX; j+=i) ciur[j]=1;
}
}*/
int Solve(int x, int &nr, int &sum)
{
int d=2, rad;
rad=sqrt((double)x);nr=0; sum=0;
while (d*d<=x)
{
if (x%d==0)
{
nr+=2;
sum=(sum+d+x/d)%MOD;
}
++d;
}
nr+=2; sum+=1+x;
if (rad*rad==x) --nr, sum=(sum+MOD-rad)%MOD;
}
void Citeste()
{
int x, nr, sum, t;
f>>t;
while (t--)
{
f>>x;
Solve(x, nr, sum);
g<<nr<<" "<<sum<<"\n";
}
}
int main()
{
//Ciur();
Citeste();
f.close();
g.close();
return 0;
}