Cod sursa(job #1310976)

Utilizator nimicLeoveanu Mihaita Alexandru nimic Data 7 ianuarie 2015 16:17:56
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
using namespace std; 
ifstream in("pascal.in");
ofstream out("pascal.out");
 
const int nmax = 5000001;
int r, d, s2, s3, s5, rasp;
int fact2[nmax], fact3[nmax], fact5[nmax];
 
 
int main()
{
	int player_unu=0;

    in>>r>>d;
    for(int i = 1; i<=r; i++)
    {
        if(i%2==0)
            fact2[i] = fact2[i / 2] + 1;
 
        if(i%3==0)
            fact3[i] = fact3[i / 3] + 1;
 
        if(i%5==0)
            fact5[i] = fact5[i / 5] + 1;
    }

    for(int i = 1; i<=r; i++)
    {
        s2 += fact2[r - i + 1] - fact2[i];
        s3 += fact3[r - i + 1] - fact3[i];
        s5 += fact5[r - i + 1] - fact5[i];
 
        if(d==2 && s2>0)
            rasp++;
 
        if(d==3 && s3>0)
            rasp++;
 
        if(d==5 && s5>0)
            rasp++;
 
        if(d==4 && s2>1)
            rasp++;
 
        if(d==6 && s2>0 && s3>0)
            rasp++;
    }

    out<<rasp<<'\n';

    return player_unu;
}