Cod sursa(job #1980271)

Utilizator refugiatBoni Daniel Stefan refugiat Data 12 mai 2017 18:55:51
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("pascal.in");
ofstream so("pascal.out");
int p2[5000005];
int p3[5000005];
int p5[5000005];
int main()
{
    int n,k;
    si>>n>>k;
    for(int i=1;i<=n;++i)
    {
        if(i%2==0)
            p2[i]=p2[i/2]+1;
        if(i%3==0)
            p3[i]=p3[i/3]+1;
        if(i%5==0)
            p5[i]=p5[i/5]+1;
    }
    int s1=0,s2=0,s3=0,sol=0;
    for(int i=1;i<=n;++i)
    {
        s1+=p2[n-i+1]-p2[i];
        s2+=p3[n-i+1]-p3[i];
        s3+=p5[n-i+1]-p5[i];
        switch(k)
        {
            case 2:if(s1>0) sol++; break;
            case 3:if(s2>0) sol++; break;
            case 4:if(s1/2>0) sol++; break;
            case 5:if(s3>0) sol++; break;
            case 6:if(s1>0&&s2>0) sol++; break;
        }
    }
    so<<sol;
    return 0;
}