Cod sursa(job #1304090)

Utilizator costty94Duica Costinel costty94 Data 28 decembrie 2014 17:23:48
Problema Suma divizorilor Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>
#define mod 9901

long long a, b, r, s;
int i;

using namespace std;

long long power(long long a, long long b)
{
	long long r = 1;
	while (b != 0)
	{
		if (b % 2)
			r = r * a % mod;
		a = a * a % mod;
		b = b / 2;
	}
	return r % mod;
}

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

	f >> a >> b;
	r = power(a, b);
	s = r + 1;
	for (i = 2; i * i <= r; i++)
	{
		if (r % i == 0)
			s += i + r / i;
		if (i == r / i)
			s -= i;
	}
	g << s;
	return 0;

}