Cod sursa(job #395807)

Utilizator sorecau_catalinSorecau Catalin sorecau_catalin Data 13 februarie 2010 20:07:47
Problema Suma divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include <fstream>
#define NR 9901
using namespace std;

long long A, B;

ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");

int main()
{
	fin >> A >> B;
	int sol = 1;
	while ( B )
	{
		if ( B % 2 )
		{
			sol *= A;
			A *= A;
			B /= 2;
		}
	}
	int S = 1 + sol;
	for ( int i = 2; i <= sol/2; i++)
		if ( sol % i == 0 )
			S += i;
	fout << S % NR;
	fin.close();
	fout.close();
	return 0;
}