Cod sursa(job #904433)

Utilizator Detrol2kGuianu Leon Detrol2k Data 4 martie 2013 13:35:02
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;

int main() 
{
    ifstream fin("pascal.in");
    ofstream fout("pascal.out");
     
    int r, d, sol = 0, div[7], i, j, k;
 
 	//Read
    fin>>r>>d;
 
 
 	//Compute
 	memset(div, 0, 7*sizeof(int));
    for(i=1; i*2 <= r; i++) 
	{
 		k = r-i+1;
        while(k%2 == 0)  k /= 2, div[2]++;
        while(k%3 == 0)  k /= 3, div[3]++;
        while(k%5 == 0)  k /= 5, div[5]++;
 
        k = i;
        while(k%2 == 0)  k /= 2, div[2]--;
        while(k%3 == 0)  k /= 3, div[3]--;
        while(k%5 == 0)  k /= 5, div[5]--;
 
        div[4] = div[2]/2;
        div[6] = min(div[2],div[3]);
         
        if(div[d] >= 1) sol+=2;
        if(div[d]>=1 && i*2==r) sol--;
    }
 
 	
 	//Print
    fout<<sol<<"\n";
}