Cod sursa(job #1520532)

Utilizator dragos99Homner Dragos dragos99 Data 8 noiembrie 2015 22:31:22
Problema Pascal Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream>
using namespace std;
long a,b,c,r,d,nr;
int d2[5000000],d3[5000000],d5[5000000];
void fac()
{
    long aux;
    for(long i=2;i<=r;i++)
    {
        aux=i;
        if(i%2==0)
            d2[i]=d2[i/2]+1;
        if(i%3==0)
            d3[i]=d3[i/3]+1;
        if(i%5==0)
            d5[i]=d5[i/5]+1;
    }
}
long numar()
{
    long i;
    for(i=1;i<=r;i++)
    {
        a+=d2[r-i+1]-d2[i];
        b+=d3[r-i+1]-d3[i];
        c+=d5[r-i+1]-d5[i];
        switch (d){
        case 2:
            if(a>0) nr++;
            break;
        case 3:
            if(b>0) nr++;
            break;
        case 4:
            if(a>1) nr++;
            break;
        case 5:
            if(c>0) nr++;
            break;
        case 6:
            if(a>0 && b>0) nr++;
            break;
        }
    }
    return nr;
}
int main()
{
    ifstream f("pascal.in");
    ofstream g("pascal.out");
f>>r>>d;
fac();
g<<numar();
return 0;
}