Cod sursa(job #1851488)

Utilizator MirunaStefaniaLupascu Miruna-Stefania MirunaStefania Data 19 ianuarie 2017 19:54:23
Problema Suma si numarul divizorilor Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include<fstream>
#define nmax 1000001
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");

int main()
{   int n,i,s,ct,x,j,nrdiv,nr,d;
    fin>>n;
    for(j=1;j<=n;j++)
    {fin>>x;
     d=2;nrdiv=s=1;
     while(x!=1)
     {ct=0;
      while(x%d==0)
      {x=x/d;
      ct++;
      }
      if(ct>0){nr=1;
               nrdiv=nrdiv*(ct+1);
               for(i=1;i<=ct+1;i++)nr=nr*d;
               s=s*(nr-1)/(d-1);
              }
       if(d*d<x)d++;
       else d=x;
    }
    fout<<nrdiv<<" "<<s%9973<<"\n";

    }
    fin.close();
    fout.close();

    return 0;
}