Cod sursa(job #1681179)
| Utilizator | Data | 9 aprilie 2016 12:06:40 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long n,s,d,T,nrdiv,i,y;
int main()
{
fin>>T;
for(i=1;i<=T;++i)
{
fin>>n;
nrdiv=2;s=(1+n)%9973;
y=sqrt(n);
for(d=2;d<=y;d++)
if(n%d==0){s=(s+d+n/d)%9973;nrdiv+=2;}
if(sqrt(n)==(int)sqrt(n)){s=s-sqrt(n);nrdiv--;}
if(n==1){s==1;nrdiv=1;}
fout<<nrdiv<<' '<<s<<'\n';
///cout<<nrdiv<<' '<<s<<'\n';
}
return 0;
}
