Cod sursa(job #2232333)

Utilizator DViorelViorel DViorel Data 18 august 2018 17:11:10
Problema Suma divizorilor Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;
const int n_max=10001;
const int m=9901;
int sdiv(int n)
{
    int s=0,d;
    for(d=1;d*d<n;d++)
        if(n%d==0)
            s+=d+n/d;
    if(d*d==n)
        s+=d;
    return s;
}
int main()
{
    ifstream cin("sumdiv.in");
    ofstream cout("sumdiv.out");
    unsigned int i,n,p;
    long long a,sol=1;
    cin>>n>>p;
    a=n;
    for(i=0;(1<<i)<=p;i++)
    {
        if( ((1<<i)&&p)>0 )
            sol=(sol*a)%m;
        a=(a*a)%m;
    }
    cout<<sdiv(sol);
    return 0;
}