Cod sursa(job #2766077)

Utilizator luiz_felipeLuiz Felipe luiz_felipe Data 31 iulie 2021 00:13:11
Problema Suma divizorilor Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>
const int MOD = 1999999973;
using namespace std;
long long putere(long long a, long long b);
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");

int main() {
	long long a, b, S = 0;
	f >> a >> b;
	if (a == 1 || !b) S = 1;
	else S = (putere(a, b + 1) - 1) / (a - 1);
	g << S % 9901;
}

long long putere(long long a, long long b) {
	long long result = 1;
	for (int i = 0; (1 << i) <= b; ++i) {
		if ((1 << i) & b) result = (result * a) % MOD;
		a = (a * a) % MOD;
	}
	return result;
}