Pagini recente » Cod sursa (job #1678816) | Cod sursa (job #1341903) | Cod sursa (job #538300) | Cod sursa (job #3129605) | Cod sursa (job #110204)
Cod sursa(job #110204)
#include <iostream.h>
#include <fstream.h>
#include <math.h>
main()
{
long x1,x2,delta,a1,a2,sol,i,var,co=0,var2,semn=1,semn2=1,s1=1,s2=1,div=0,last;
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);
ofstream out("ecuatie.out");
if(a>0) sol=-a; else sol=a;
for(i=-1;i>=sol&&co<k;i--)
{if(a%i==0){co=co+2;last=i;}
}
for(i=a;i>0&&co<k;i--)
{
if(a%i==0){co=co+2;last=i;}
}
var=a/last;
var2=a/var;
for(i=-1;i>=sol;i--)
if(a%i==0) div=div+2;
for(i=a;i>0;i--)
if(a%i==0)div=div+2;
if(k%2==1&&co<k) co++;
if(k%2==1&&co>k) co--;
if(var<0) {var=-var;semn=0;}
if(var2<0) {var2=-var2;semn2=0;}
if(x2<0) {x2=-x2;s2=0;}
if(x1<0) {x1=-x1;s1=0;}
//out<<'\0';
//<<"co="<<co;
//out<<"\xAvar2="<<var2;
//out<<"\xAx2="<<x2;
//out<<"\xAvar="<<var;
//out<<"\xAx1="<<x1<<"\xA";
if(co%2==0&&co>div/2)
{
out<<"(";
if(semn==0)out<<"-";
if(var!=1&&var!=-1)
out<<var<<"x";
if(var==1||var==-1)
out<<"x";
if(semn==0&&s1==0)out<<"-";else
if(semn&&s2)out<<"-";else out<<"+";
out<<var*x2;
out<<")";
out<<"(";
if(semn2==0)out<<"-";
if(var2!=1&&var2!=-1)
out<<var2<<"x";
if(var2==1||var2==-1)
out<<"x";
if(semn2==0&&s2==0)out<<"-";else
if(semn2&&s1)out<<"-";else out<<"+";
out<<var2*x1;
out<<")";
}
if(co%2==0&&co<=div/2)
{
out<<"(";
if(semn==0)out<<"-";
if(var!=1&&var!=-1)
out<<var<<"x";
if(var==1||var==-1)
out<<"x";
if(semn==0&&s1==0)out<<"-";else
if(semn&&s1)out<<"-";else out<<"+";
out<<var*x1;
out<<")";
out<<"(";
if(semn2==0)out<<"-";
if(var2!=1&&var2!=-1)
out<<var2<<"x";
if(var2==1||var2==-1)
out<<"x";
if(semn2==0&&s2==0)out<<"-";else
if(semn2&&s2)out<<"-";else out<<"+";
out<<var2*x2;
out<<")";
}
if(co%2==1&&co<=div/2)
{
out<<"(";
if(semn==0)out<<"-";
if(var!=1&&var!=-1)
out<<var<<"x";
if(var==1||var==-1)
out<<"x";
if(semn==0&&s1==0)out<<"+";else
if(semn&&s1)out<<"+";else out<<"-";
out<<var*x2;
out<<")";
out<<"(";
if(semn2==0)out<<"-";
if(var2!=1&&var2!=-1)
out<<var2<<"x";
if(var2==1||var2==-1)
out<<"x";
if(semn2==0&&s2==0)out<<"+";else
if(semn2&&s2)out<<"+";else out<<"-";
out<<var2*x1;
out<<")";
}
if(co%2==1&&co>div/2)
{
out<<"(";
if(semn==0)out<<"-";
if(var!=1&&var!=-1)
out<<var<<"x";
if(var==1||var==-1)
out<<"x";
if(semn==0&&s1==0)out<<"-";else
if(semn&&s1)out<<"-";else out<<"+";
out<<var*x1;
out<<")";
out<<"(";
if(semn2==0)out<<"-";
if(var2!=1&&var2!=-1)
out<<var2<<"x";
if(var2==1||var2==-1)
out<<"x";
if(semn2==0&&s2==0)out<<"-";else
if(semn2&&s2)out<<"-";else out<<"+";
out<<var2*x2;
out<<")";
}
out.close();
return 0;
}