Cod sursa(job #2099845)

Utilizator laurpoppopescu laurentiu laurpop Data 4 ianuarie 2018 18:53:59
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int i,d,j,nr,v[4],p[4],x[4],k,ok,sol;
int main()
{
    f>>i>>d;
    for(j=2;j*j<=d;j++)
        if(d%j==0){
            nr++;
            v[nr]=j;
            while(d%j==0){
                p[nr]++;
                d/=j;
            }
        }
    if(d!=1){
        nr++;
        v[nr]=d;
        p[nr]=1;
    }
    for(j=0;j<i/2;j++){


ok=1;
         for(k=1;k<=nr;k++){
            int y=i-j;
            while(y%v[k]==0){
                x[k]++;
                y/=v[k];
            }
            y=j+1;
            while(y%v[k]==0){
                x[k]--;
                y/=v[k];
            }
            if(x[k]<p[k])
                ok=0;
         }
         sol+=2*ok;
    }
    if(i%2==0){

        sol-=ok;
    }
    g<<sol;
    return 0;
}