Cod sursa(job #1197288)

Utilizator tudor0013tudor petrescu tudor0013 Data 11 iunie 2014 16:36:17
Problema Pascal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
using namespace std;

int a[5000001]={1,1,1},b[5000001],r,d;
void pascal()
{
	int i,rand,x=1;
	rand=1;
	do
	{
		x++;
		b[1]=1;
		rand=(x+2)/2;
		for(i=2;i<=rand;i++)
			b[i]=a[i-1]+a[i];
		if(x%2==0)
			b[rand]=a[rand-1]*2;
		for(i=1;i<=rand;i++)
			a[i]=b[i];
	}
	while(x<r);
}

int main()
{
    freopen("pascal.in","r",stdin);
    freopen("pascal.out","w",stdout);
    scanf("%d%d",&r,&d);
    pascal();
    long num=0;
    for(int i=1;i<=(r+2)/2;i++)
		if(a[i]%d==0)
			num++;
	if(r%2==0)
		printf("%ld",num*2-1);
	else
		printf("%ld",num*2);
    return 0;
}