Cod sursa(job #2100874)

Utilizator AndaionicaIonica Anda Maria Andaionica Data 6 ianuarie 2018 15:03:58
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int i,d,j,q,q1,q2,x,sol;
int main()
{
    f>>i>>d;
    if(d==2||d==3||d==5){
        for(j=0;j<(i+1)/2;j++){
            if(q>=1)
                sol+=2;
            int x=i-j;
            while(x%d==0){
                q++;
                x/=d;
            }
            x=j+1;
            while(x%d==0){
                q--;
                x/=d;
            }
        }
        if(i%2==0&&q>=1)
            sol++;
        g<<sol;
        return 0;
    }
    if(d==4){
        for(j=0;j<(i+1)/2;j++){
            if(q>=2)
                sol+=2;
            int x=i-j;
            while(x%2==0){
                q++;
                x/=2;
            }
            x=j+1;
            while(x%2==0){
                q--;
                x/=2;
            }
        }
        if(i%2==0&&q>=2)
            sol++;
        g<<sol;
        return 0;
    }
    for(j=0;j<(i+1)/2;j++){
            if(q1>=1&&q2>=1)
                sol+=2;
            int x=i-j;
            while(x%2==0){
                q1++;
                x/=2;
            }
            x=j+1;
            while(x%2==0){
                q1--;
                x/=2;
            }
            x=i-j;
            while(x%3==0){
                q2++;
                x/=3;
            }
            x=j+1;
            while(x%3==0){
                q2--;
                x/=3;
            }
        }
        if(i%2==0&&q1>=1&&q2>=1)
            sol++;
        g<<sol;
        return 0;
    return 0;
}