Pagini recente » Cod sursa (job #2337282) | Cod sursa (job #2354559)
#include<fstream>
#define N 45000
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool c[45000];
long long n,i,a[10001],np,d,b,prim[45000];
void ciur()
{
int i,j;
for(i=2;i*i<N;i++)
if(!c[i])
for(j=i*i;j<N;j+=i)
c[j]=true;
for(i=2;i<N;i++)
if(!c[i])
{
np++;
prim[np]=i;
}
}
long long nrdiv(long long n)
{
int i,k,nr=1;
for(i=1;prim[i]*prim[i]<=n;i++)
{
k=0;
while(n%prim[i]==0)
{
k++;
n=n/prim[i];
}
nr=nr*(k+1);
}
if(n!=1)
nr=nr*2;
return nr;
}
long long sumdiv(long long x)
{
int i,s=0;
for(i=1;i<=x;i++)
if(x%i==0)
s=s+i;
return s;
}
int main()
{
ciur();
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
g<<nrdiv(a[i])<<" "<<sumdiv(a[i])<<endl;
}