Cod sursa(job #1732208)

Utilizator danutbodbodnariuc danut danutbod Data 21 iulie 2016 09:13:46
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
//var I divizorii pana la sqrt(x) si simetrie
#include <fstream>
#define M 1000001
#define Z 9973
using namespace std;
ifstream fi("ssnd.in ");
ofstream fo("ssnd.out");
int i,j,n,t;
long long x,k,nrd,sd,d;
int main()
{

    fi>>t;
    for(i=1;i<=t;i++){
        fi>>x;
        nrd=0;sd=0;
        for(d=1;d*d<=x;d++)
         if(x%d==0){
            nrd=nrd+2;
            sd=sd+d+x/d;
            sd=sd%Z;
         }
         if((d-1)*(d-1)==x){nrd--;sd=sd-(d-1);}
    fo<<nrd<<" " <<sd%Z<<'\n';
    }
    return 0;
}
//int P[M+1];
//bool pr[M+1];
////ciur
//    for(i=2;i<=M;i++)
//      if(pr[i]==0){
//        for(j=2*i;j<=M;j=j+i)pr[j]=1;
//      }
//    for(i=2;i<=M;i++)
//        if(pr[i]==0)P[++k]=i;
//    //for(i=1;i<=k;i++)fo<<P[i]<<" ";