Pagini recente » Cod sursa (job #227636) | Cod sursa (job #955004) | Cod sursa (job #2222961) | Cod sursa (job #2853470) | Cod sursa (job #993692)
Cod sursa(job #993692)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
#define baza 1
#define MAX 1000005
#define MOD 1999999973
typedef long long int lli;
int t,n, i, j;
bool a[MAX];
void ciur()
{
a[0]=a[1]=1;
for(i=1;i<=sqrt(MAX)+1;i++)
{
if(!a[i])
{
for(j=i*i;j<=MAX;j+=i)
{
a[j]=1;
}
}
}
}
int main()
{
ciur();
fin>>t;
for(int ki=1;ki<=t;ki++)
{
int numere=1;
int suma=1;
fin>>n;
int l=sqrt(n);
for(i=2;i<=l;i++)
{
if(!a[i] && n%i==0)
{
int nr=0;
int cx=n;
while(n%i==0)
{
nr++;
n/=i;
}
numere*=(nr+1);
suma*=(cx*i/n-1);
suma/=(i-1);
l=sqrt(n);
}
}
if(n>1)
{
numere*=2;
suma*=n*n-1;
suma/=n-1;
}
fout<<numere<<" "<<suma<<"\n";
}
return 0;
}