Cod sursa(job #3205293)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 19 februarie 2024 11:02:50
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
using namespace std;
ifstream F("pascal.in");
ofstream G("pascal.out");
int n,m,i,k,a,b,c,j;
int main()
{
    for(F>>n>>m,i=1;i<(n>>1)+(n&1);++i) {
        for(j=n-i+1;!(j&1);j>>=1,++a);
        for(;j%3==0;j/=3,++b);
        for(;j%5==0;j/=5,++c);
        for(j=i;!(j&1);j>>=1,--a);
        for(;j%3==0;j/=3,--b);
        for(;j%5==0;j/=5,--c);
        if((m==2&&a)||(m==3&&b)||(m==4&&a>1)||(m==5&&c)||(m==6&&a&&b))
            k+=2;
    }
    if(!(n&1)) {
        for(j=n-i+1;!(j&1);j>>=1,++a);
        for(;j%3==0;j/=3,++b);
        for(;j%5==0;j/=5,++c);
        for(j=i;!(j&1);j>>=1,--a);
        for(;j%3==0;j/=3,--b);
        for(;j%5==0;j/=5,--c);
        if((m==2&&a)||(m==3&&b)||(m==4&&a>1)||(m==5&&c)||(m==6&&a&&b))
            ++k;
    }
    return G<<k,0;
}