Cod sursa(job #2353994)

Utilizator ripeanumihaiRipeanu Mihai ripeanumihai Data 24 februarie 2019 19:34:49
Problema Suma divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
unsigned long long sumdiv(unsigned long long int n)
{
    unsigned long long int s=(n+1)%9901;
    unsigned long long int i;
    for(i=2;i*i<n;i++)
    {
        if(n%i==0) {s=s+i%9901;s=s+(n/i)%9901;}
    }
    if(i*i==n) s+=i%9901;
    return s;
}
unsigned long long put0(unsigned long long int x,unsigned long long int n)
{
    long long val=1,a=x%9901;
    while(n>0)
        if(n%2==0)
    {
        a*=a%9901;
        n/=2;
    }
    else
    {
        val*=a%9901;
        n--;
    }
    return val;
}
int main()
{
    unsigned long long int a,b;
    cin>>a>>b;
    cout<<sumdiv(put0(a,b));
    return 0;
}