Cod sursa(job #1304109)

Utilizator costty94Duica Costinel costty94 Data 28 decembrie 2014 17:34:14
Problema Suma divizorilor Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 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;
		if (i == r / i)
			s -= i;
		
	}
	g << s;
	return 0;

}