Cod sursa(job #1826059)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 10 decembrie 2016 00:37:00
Problema Suma divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#define mod 9901
#define LEN 50000010

using namespace std;

ifstream f("sumdiv.in");
ofstream g("sumdiv.out");

bool v[LEN];
long long n,m,i,j,k,t,p,sum=0;
long long pow1(long long b,long long exp)
{
    long long p=1;
    while(exp!=0)
    {
        if(exp%2!=0)
        {
            p=p*b;
        }
        b=b*b;
        exp=exp/2;
    }
    return p;
}
int main()
{
    f>>n>>m;
    t=pow1(n,m);
    for(i=2;i<=t;i++)
    {
        if(v[i]==0)
        {
            for(j=i;j<=t;j=j+i)
                if(t%j==0 && v[j]==0)
                {
                    sum=sum+j;
                    v[j]=1;
                }
                else
                    v[j]=1;
        }
    }
    g<<(sum+1)%mod;
}