Cod sursa(job #1062022)

Utilizator oopsSoare George oops Data 20 decembrie 2013 17:12:19
Problema Suma divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
//#include"stdafx.h"
#include <stdio.h>

const int MOD = 9901;

int gcd(int x, int y, int &a, int &b)
{
	if (y == 0) {
		a = 1;
		b = 0; 
		return x;
	}
	int ap, bp;
	int d = gcd(y, x % y, ap, bp);
	a = bp;
	int mult = a* (x / y) ;
	b = (ap - mult) ;
	return d;
}

int inv(int x)
{
	int a, b;
	int d = gcd(x, MOD, a, b);
	d += b; 
	return a;
}

int main()
{
	int i, a, b;
	freopen("sumdiv.in", "r", stdin);
	freopen("sumdiv.out", "w",stdout);
	scanf("%d %d", &a, &b);
	int p=a;
	for (i = 1; i <=b; ++i)
	{
		p = (p*a)%MOD;
	}
	p = p + 1 - a;
	p = (p*inv(a - 1))%MOD;
	printf("%d\n", p);
		
	return 0;
}