Cod sursa(job #109854)

Utilizator pirvupirvu tudor pirvu Data 25 noiembrie 2007 12:50:46
Problema Ecuatie Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.02 kb
#include<stdio.h>

long a,b,c,k,i,j;

int p,pp;

long x[1000][10];

int main()

{

freopen("ecuatie.in","r",stdin);
freopen("ecuatie.out","w",stdout);


scanf("%ld %ld %ld %ld",&a ,&b ,&c ,&k);

unsigned long a2=a ,c2=c;


for (i=1;i<=a2;i++)

if ((a2/i)*i == a2)

for (j=1;j<=c2;j++)

if ((c2/j) * j==c2)

{

x[++p][1]=a2/i-a2/i-a2/i;

x[p][2]=c2/j;

x[p][3]=i-i-i;

x[p][4]=j;

}

pp=p;

for (i=pp;i>=1;i++)

{

x[++p][1]=x[i][1]-x[i][1]-x[i][1];

x[p][2]=x[i][1]-x[i][1]-x[i][1];

x[p][3]=x[i][3]-x[i][3]-x[i][3];

x[p][4]=x[i][4]-x[i][4]-x[i][4];


}

if (x[k][1]==1)  printf ( "(x");

else if (x[k][1]==-1) printf ("(-x");

else printf ("(%d",x[k][1]);


if (x[k][3]<0) printf("%ld",x[k][3]);

else printf("+%ld",x[k][3]);


printf(")");



if (x[k][2]==1)  printf ( "(x");

else if (x[k][2]==-1) printf ("(-x");

else printf ("(%dx",x[k][2]);


if (x[k][4]<0) printf("%ld",x[k][4]);

else printf("+%ld",x[k][4]);


printf(")");








return 0;
}