Cod sursa(job #3164780)
| Utilizator | Data | 4 noiembrie 2023 11:41:21 | |
|---|---|---|---|
| Problema | Suma divizorilor | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
using namespace std;
#define M 9901
ifstream cin("sumdiv.in");
ofstream cout("sumdiv.out");
long long mod(long long a, int b)
{
long long p=1,ca=a-1;
while(b)
{
if(b%2==1)
p=(1LL*((p%M)*(a%M)))%M;
a=(1LL*(a%M)*(a%M))%M;
b/=2;
}
if(a>1)
return (p-1)/ca;
return p;
}
int main()
{
long long a;
int b;
cin>>a>>b;
cout<<mod(a,b+1);
return 0;
}
