Cod sursa(job #1304111)

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

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


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);
	for (i = 1; i * i <= r; i++)
	{
		if (r % i == 0)
			s += (i % mod + (r % mod) / i % mod) % mod;
		if (i == r / i)
			s -= i;
		
	}
	g << s;
	return 0;

}