Cod sursa(job #898636)
| Utilizator | Data | 28 februarie 2013 11:07:25 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
#include <cmath>
#define IN "ssnd.in"
#define OUT "ssnd.out"
using namespace std;
ifstream fin(IN);
ofstream fout(OUT);
int n;
int main()
{
long i,s,a,j,cate,x;
fin>>n;
for(i=1;i<=n;i++)
{
s=1;
cate=2;
fin>>a;
//a=a/2;
x=int(sqrt(a));
for(j=2;j<=x;j++)
if(a%j==0) {cate=cate+2; s=(s+j)%9973; s=(s+a/j)%9973;}
//s=s*2;
if(x*x<a) s=s+a;
s=s%9973;
//s=(s+a)%9973;
fout<<cate<<' '<<s<<'\n';
}
return 0;
}
