Cod sursa(job #109949)

Utilizator SycronVene Tian Sycron Data 25 noiembrie 2007 12:59:28
Problema Ecuatie Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.35 kb
#include <iostream.h>
#include <fstream.h>
#include <math.h>
void main()
{
long x1,x2,delta,a1,a2,sol,i,var,co=1;
long a,b,c,k;
ifstream in("ecuatie.in");
in >> a >> b >> c >>k ;in.close();
delta=(pow(b,2))-(4*a*c);


 x1=(-b + sqrt(delta))/(2*a);
 x2=(-b - sqrt(delta))/(2*a);



if(a>0) sol=-a; 
for(i=sol;i<sol/2&&co<=k;i++)
   {
    var=a/i;co=co+1;
//if(a%i==0)
   }

for(i=1;i<=a/2&&co<=k;i++)
   {
    var=a/i;co=co+1;
//if(a%i==0)

 //   out<<var<<" "<<a/var<<"\n";

   }
ofstream out("ecuatie.out");
out<<'\xA';
if(a*x1>0&&var!=1&&var!=-1)
    out<<'('<<var<<'x'<<-var*x1<<')';
  else 
if(a*x1>0&&var==1) out<<'('<<'x'<<-var*x1<<')';
  else
if(a*x1>0&&var==-1) out<<'('<<"-x"<<-var*x1<<')';
  else
if(a*x1<0&&var!=1&&var!=-1)
    out<<'('<<var<<'x'<<var*x1<<')';
  else 
if(a*x1<0&&var==1) out<<'('<<'x'<<'+'<<var*x1<<')';
  else
if(a*x1<0&&var==-1) out<<'('<<"-x"<<'+'<<var*x1<<')';

if(a*x2>0&&a/var!=1&&a/var!=-1)
    out<<'('<<a/var<<'x'<<'+'<<a/var*x2<<')';
  else 
if(a*x2>0&&a/var==1) out<<'('<<'x'<<-a/var*x2<<')';
  else
if(a*x2>0&&a/var==-1) out<<'('<<"-x"<<-a/var*x2<<')';
  else
if(a*x2<0&&a/var!=1&&a/var!=-1)
    out<<'('<<a/var<<'x'<<'+'<<-a/var*x2<<')';
  else 
if(a*x2<0&&a/var==1) out<<'('<<'x'<<'+'<<a/var*x2<<')';
  else
if(a*x2<0&&a/var==-1) out<<'('<<"-x"<<a/var*x2<<')';


out.close();
}