Cod sursa(job #797945)

Utilizator stanescumalinStanescu Malin Octavian stanescumalin Data 15 octombrie 2012 12:06:19
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
// ifl.cpp : Defines the entry point for the console application.
//

#include <iostream>
#include <fstream>

using namespace std;

int fiel(int d)
{
	if(d == 2) return 1;
	if(d == 3) return 2;
	if(d == 4) return 2;
	if(d == 5) return 4;
	if(d == 6) return 2;
}

int invers(int vers, int d)
{
	int i, j, t, k=1;
	int fi = fiel(d);
	t = vers;
	for(j=1; j<fi; j = j*2){
		if((fi/j) % 2 == 1) k = (k*t)%d;
		t = (t*t)%666013;
	}
	return k;
}

int main()
{
	ifstream fin("pascal.in");
	int i, r, d, eta, cnt;
	fin>>r; fin>>d;
	eta = 1; cnt = 0;
	for(i=0; i<r; i++)
	{
		if(eta % d == 0) cnt++;
		eta = eta * (r-i)/invers(i+1, d);
	}
	ofstream fout("pascal.out");
	fout<<cnt;
	return 0;
}