Cod sursa(job #1396705)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 22 martie 2015 21:10:03
Problema Suma divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <iostream>
using namespace std;
long long n,i,s,j,p1,d,b,x,fr,p,nr1=1,a[1000001];
int main()
{ifstream f("sumadiv.in");
ofstream g("sumadiv.out");
   f>>x>>b;
   for(d=2;d*d<=1000001;d++)
   {if(a[d]==0)
    {for(i=d*d;i<=1000001;i=i+d)
       a[i]=1;
    }
 }
   fr=2;s=1;
   nr1=1;
   while(x>1&&fr*fr<=x)
   {p=0;
    if(a[fr]==0)
   {p1=1;
    while(x%fr==0){x=x/fr;p++;}}
   for(j=1;j<=p*b+1;j++){p1=p1*fr;}
if(a[fr]==0)s=s*((p1-1)/(fr-1));
   fr++;
   }
   if(x>1)
   {p1=1;
   for(i=1;i<=b+1;i++){p1=p1*x;}
   s=s*((p1-1)/(x-1));
   }
   g<<s%9901;

    return 0;
}