Cod sursa(job #1732211)

Utilizator danutbodbodnariuc danut danutbod Data 21 iulie 2016 09:36:32
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.28 kb
//var I divizorii pana x
#include <fstream>
#define M 1000001
#define MOD 9973
using namespace std;
ifstream fi("ssnd.in ");
ofstream fo("ssnd.out");
long long  i,j,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<=x;d++)
         if(x%d==0){
            nrd++;
            sd+=d;
            sd=sd%MOD;
         }
    fo<<nrd<<" " <<sd%MOD<<'\n';
    }
    return 0;
}
////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,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]<<" ";