Cod sursa(job #1607411)

Utilizator alex72101Sfat Alexandru alex72101 Data 21 februarie 2016 04:24:47
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<fstream>
using namespace std;
int a[3][5000010];

int main(){
    long linie,numar,nr=0,i=0,d1=0,d2=0,d3=0;

    FILE *f=fopen("pascal.in","r");
    FILE *g=fopen("pascal.out","w");
    fscanf(f,"%d %d",&linie,&numar);
    
    for(i=2;i<=linie;i++)
    {
        if(i%2==0)
            a[0][i]=a[0][i/2]+1;
        if(i%3==0)
            a[1][i]=a[1][i/3]+1;
        if(i%5==0)
            a[2][i]=a[2][i/5]+1;
    }
	
   for(i=1;i<=linie;i++)
    {
        d1+=a[0][linie-i+1]-a[0][i];
        d2+=a[1][linie-i+1]-a[1][i];
        d3+=a[2][linie-i+1]-a[2][i];
        switch (numar){
        case 2:
            if(d1>0) nr++;
            break;
        case 3:
            if(d2>0) nr++;
            break;
        case 4:
            if(d1>1) nr++;
            break;
        case 5:
            if(d3>0) nr++;
            break;
        case 6:
            if(d1>0 && d2>0) nr++;
            break;
        }
    }
	
	    
    fprintf(g,"%d",nr);
    return 0;
}