Cod sursa(job #127661)

Utilizator gabor_oliviu1991gaboru corupt gabor_oliviu1991 Data 24 ianuarie 2008 20:01:20
Problema Ecuatie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<fstream.h>
#include<math.h>
int main()
{  long a,b,c,k,d[1000]={0},p1,p2,q1,q2,x1,x2;
   int i,l=1,da;
   ifstream f("ecuatie.in");
   ofstream g("ecuatie.out");
   f>>a>>b>>c>>k;
   q1=(-b+sqrt((pow(b,2)-4*a*c)))/(2*a);x1=q1;
   q2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);x2=q2;
   for(i=-abs(a);i<0;i++)
	if(a%i==0&&i!=0) d[l++]=i;
   for(i=1;i<=a;i++)
	if(a%i==0)	 d[l++]=i;
   l=k/2;
   if(k%2==1)  l++;
   da=d[l];
   if(k%2==1)
	{p1=da;
	p2=a/da;
	q1=-x1*da;
	q2=-x2*(a/da);}
   else
       {p1=da;
       p2=a/da;
       q1=-x2*da;
       q2=-x1*(a/da);}

   if(p1==1)   g<<"(x";
     else
	if(p1==-1)  g<<"(-x";
	    else       g<<"("<<p1<<"x";
   if(q1>0)
	g<<"+"<<q1<<")";
   else
	g<<q1<<")";
   if(p2==1)   g<<"(x";
     else
	if(p2==-1)  g<<"(-x";
	    else       g<<"("<<p2<<"x";
   if(q2>0)
	g<<"+"<<q2<<")";
   else
	g<<q2<<")";

   return 0;
   }