Pagini recente » Cod sursa (job #2230729) | Cod sursa (job #2923915) | Cod sursa (job #611148) | Cod sursa (job #2813798) | Cod sursa (job #1427044)
#include <fstream>
#include <vector>
#define MOD 9973
#define MAX_SQRT 1000000
using namespace std;
vector<int> primes;
int is_prime_table[MAX_SQRT];
void buildPrimes()
{
for(int i=3; i*i<MAX_SQRT; i+=2)
if(is_prime_table[i]==0)
for(int j=i*i; j<MAX_SQRT; j+=2*i)
is_prime_table[j]=1;
primes.push_back(2);
for(int i=3; i<MAX_SQRT; i+=2)
if(is_prime_table[i]==0) primes.push_back(i);
}
int main()
{
int t, n, s, d, j, c1, c2, c;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
in>>t;
buildPrimes();
for(int i=0; i<t; ++i)
{
in>>n;
s=1; d=1; j=0;
while(n!=1)
{
if(n%primes[j]==0)
{
c1=1; c2=1;
c=1;
while(n%primes[j]==0)
{
++c1;
c*=primes[j];
c2+=c;
n/=primes[j];
}
d*=c1;
s=s*c2%MOD;
}
++j;
}
out<<d<<' '<<s<<'\n';
}
return 0;
}