Cod sursa(job #1465162)
Utilizator | Stoiean Tudor tudor00 | Data | 26 iulie 2015 17:08:04 |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
#include <cmath>
#define NMAX 1000000
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
///dfp=descompunereinfactoriprimi
void dfp(long long x)
{
long long i,nrdiv=0,sdiv=0;
if(sqrt(x)*sqrt(x)==x) out<<3<<" "<<1+sqrt(x)+x<<'\n';
else
{
for(i=1;i<=sqrt(x);i++)
{
if(x%i==0)
{
nrdiv+=2;
sdiv=(sdiv+i+x/i)%9973;
}
}
}
out<<nrdiv<<" "<<sdiv<<'\n';
}
long long j,t,a;
int main()
{
in>>t;
for(j=1;j<=t;j++)
{
in>>a;
dfp(a);
}
in.close();
out.close();
return 0;
}