#4u: Coding in Python {FACTORIZATION}

e='pos'
f='neg'
g='zer'
dick='small'
def hcfh(a,b,c,d):
z=max(a,b,c,d)
la=[]
for j in range(z,0,-1):
if a%j==0:
if b%j==0:
if c%j==0:
if d%j==0:
la.append(j)
t=max(la)
return(t)
def hcf(a,b):
z=max(a,b)
lst=[]
for i in range(z,0,-1):
if a%i==0 and b%i==0:
lst.append(i)
m=max(lst)
return(m)
def mymod(x):
if x>0:return 'pos'
if x<0:return 'neg'
if x==0:return 'zer'
def man(a,b,c,d):
if mymod(a)==g:
if mymod(b)==e:
if mymod(c)==e:
if mymod(d)==e:
return 'TWO'
if mymod(d)==f:
return 'oneONE'
if mymod(c)==f:
if mymod(d)==f:
return 'oneONE'
if mymod(d)==e:
return 'two'
if mymod(a)==e:
if mymod(b)==e:
if mymod(c)==e:
if mymod(d)==e:
return '3'
if mymod(c)==f:
if mymod(d)==f:
return 'oneTWO'
if mymod(b)==f:
if mymod(c)==e:
if mymod(d)==e:
return 'twoONE'
if mymod(d)==f:
return '3k'
if mymod(c)==f:
if mymod(d)==e:
return 'twoONE'
if mymod(d)==f:
return 'oneTWO'
print('ax³ + bx² + cx + d')
print()
a=int(input('Enter value of a (coefficiency of x³) : '))
b=int(input('Enter value of b (coefficiency of x²) : '))
c=int(input('Enter value of c (coefficiency of x) : '))
d=int(input('Enter value of d (coefficiency of constant) : '))
print()
if a==0:
print(' ','(',b,')x² +(',c,')x +(',d,')')
print(' = ',end='')
else:
print(' ',a,'x³','+(',b,')x² +(',c,')x +(',d,')')
print(' = ',end='')
if a<0:
a=a*-1
b=b*-1
c=c*-1
d=d*-1
pp=hcfh(a,b,c,d)*-1
if a==0:
if b<0:
a=a*-1
b=b*-1
c=c*-1
d=d*-1
pp=hcfh(a,b,c,d)*-1
print(pp)
x=0
y=0
eq1=(a*(x**3))+(b*(x**2))+(c*(x))+d
eq2=(a*(y**3))+(b*(y**2))+(c*(y))+d
if a!=0:
while 1==1:
if x==-600:x=0;break
if man(a,b,c,d)=='3k':break
x=x-1
eq1=(a*(x**3))+(b*(x**2))+(c*(x))+d
if eq1==0:
break
while 1==1:
if x==0:
if y==600:y=0;break
if man(a,b,c,d)=='3':break
y=y+1
eq2=+(a*(y**3))+(b*(y**2))+(c*(y))+d
if eq2==0:
break
else:
break
if y==0:
x=x*-1
m=a
n=b-(m*x)
o=c-(n*x)
if x==0:
y=y*-1
m=a
n=b-(m*y)
o=c-(n*y)
if a==0:
m=b
n=c
o=d
x=69
y=69
pp=hcfh(a,b,c,d)
if a>0:
if x==0 and y==0:
dick= 'large'
p1=(n+(((n**2)-(4*m*o))**(1/2)))
q1=n-(((n**2)-(4*m*o))**(1/2))
p=int(-1*p1)
q=int(-1*q1)
deno=2*m
pj=int(p/(hcf(deno,p)))
qj=int(q/(hcf(deno,q)))
denopj=int(deno/(hcf(p,deno)))
denoqj=int(deno/(hcf(q,deno)))
if dick=='small':
if pp==1:
if a!=0:
if y==0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(','x +',x,')','(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','1')
if mymod(p)==e and mymod(q)==e:print('(','x +',x,')','(',denopj,'x -',pj,')','(','x -',qj,')','2')
if mymod(p)==f and mymod(q)==e:print('(','x +',x,')','(',denopj,'x +',-1*pj,')','(','x -',qj,')','3')
if mymod(p)==e and mymod(q)==f:print('(','x +',x,')','(',denopj,'x -',pj,')','(','x -',-1*qj,')','4')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(','x +',x,')','(','x +',-1*pj,')','(','x +',-1*qj,')','5')
if mymod(p)==e and mymod(q)==e:print('(','x +',x,')','(','x -',pj,')','(','x -',qj,')','6')
if mymod(p)==f and mymod(q)==e:print('(','x +',x,')','(','x +',-1*pj,')','(','x -',qj,')','7')
if mymod(p)==e and mymod(q)==f:print('(','x +',x,')','(','x -',pj,')','(','x +',-1*qj,')','8')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x +',x,')','(','x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','9')
if mymod(p)==e and mymod(q)==e:print('(','x +',x,')','(','x -',pj,')','(',denoqj,'x -',qj,')','10')
if mymod(p)==f and mymod(q)==e:print('(','x +',x,')','(','x +',-1*pj,')','(',denoqj,'x -',qj,')','11')
if mymod(p)==e and mymod(q)==f:print('(','x +',x,')','(','x -',pj,')','(',denoqj,'x +',-1*qj,')','12')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x +',x,')','(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','13')
if mymod(p)==e and mymod(q)==e:print('(','x +',x,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','14')
if mymod(p)==f and mymod(q)==e:print('(','x +',x,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','15')
if mymod(p)==e and mymod(q)==f:print('(','x +',x,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','16')
if x==0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(','x -',-1*y,')','(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','17')
if mymod(p)==e and mymod(q)==e:print('(','x -',-1*y,')','(',denopj,'x -',pj,')','(','x -',qj,')','18')
if mymod(p)==f and mymod(q)==e:print('(','x -',-1*y,')','(',denopj,'x +',-1*pj,')','(','x -',qj,')','19')
if mymod(p)==e and mymod(q)==f:print('(','x -',-1*y,')','(',denopj,'x -',pj,')','(','x -',-1*qj,')','20')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(','x -',-1*y,')','(','x +',-1*pj,')','(','x +',-1*qj,')','21')
if mymod(p)==e and mymod(q)==e:print('(','x -',-1*y,')','(','x -',pj,')','(','x -',qj,')','22')
if mymod(p)==f and mymod(q)==e:print('(','x -',-1*y,')','(','x +',-1*pj,')','(','x -',qj,')','23')
if mymod(p)==e and mymod(q)==f:print('(','x -',-1*y,')','(','x -',pj,')','(','x +',-1*qj,')','24')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x -',-1*y,')','(','x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','25')
if mymod(p)==e and mymod(q)==e:print('(','x -',-1*y,')','(','x -',pj,')','(',denoqj,'x -',qj,')','26')
if mymod(p)==f and mymod(q)==e:print('(','x -',-1*y,')','(','x +',-1*pj,')','(',denoqj,'x -',qj,')','27')
if mymod(p)==e and mymod(q)==f:print('(','x -',-1*y,')','(','x -',pj,')','(',denoqj,'x +',-1*qj,')','28')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x -',-1*y,')','(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','29')
if mymod(p)==e and mymod(q)==e:print('(','x -',-1*y,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','30')
if mymod(p)==f and mymod(q)==e:print('(','x -',-1*y,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','31')
if mymod(p)==e and mymod(q)==f:print('(','x -',-1*y,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','32')
if a==0:
if y!=0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','33')
if mymod(p)==e and mymod(q)==e:print('(',denopj,'x -',pj,')','(','x -',qj,')','34')
if mymod(p)==f and mymod(q)==e:print('(',denopj,'x +',-1*pj,')','(','x -',qj,')','35')
if mymod(p)==e and mymod(q)==f:print('(',denopj,'x -',pj,')','(','x -',-1*qj,')','36')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(','x +',-1*pj,')','(','x +',-1*qj,')','37')
if mymod(p)==e and mymod(q)==e:print('(','x -',pj,')','(','x -',qj,')','38')
if mymod(p)==f and mymod(q)==e:print('(','x +',-1*pj,')','(','x -',qj,')','39')
if mymod(p)==e and mymod(q)==f:print('(','x -',pj,')','(','x +',-1*qj,')','40')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','41')
if mymod(p)==e and mymod(q)==e:print('(','x -',pj,')','(',denoqj,'x -',qj,')','42')
if mymod(p)==f and mymod(q)==e:print('(','x +',-1*pj,')','(',denoqj,'x -',qj,')','43')
if mymod(p)==e and mymod(q)==f:print('(','x -',pj,')','(',denoqj,'x +',-1*qj,')','44')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','45')
if mymod(p)==e and mymod(q)==e:print('(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','46')
if mymod(p)==f and mymod(q)==e:print('(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','47')
if mymod(p)==e and mymod(q)==f:print('(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','48')
if x==0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','49')
if mymod(p)==e and mymod(q)==e:print('(',denopj,'x -',pj,')','(','x -',qj,')','50')
if mymod(p)==f and mymod(q)==e:print('(',denopj,'x +',-1*pj,')','(','x -',qj,')','51')
if mymod(p)==e and mymod(q)==f:print('(',denopj,'x -',pj,')','(','x +',-1*qj,')','51')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(','x +',-1*pj,')','(','x +',-1*qj,')','52')
if mymod(p)==e and mymod(q)==e:print('(','x -',pj,')','(','x -',qj,')','53')
if mymod(p)==f and mymod(q)==e:print('(','x +',-1*pj,')','(','x -',qj,')','54')
if mymod(p)==e and mymod(q)==f:print('(','x -',pj,')','(','x +',-1*qj,')','55')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(','x +',-1*pj,')','(',denoqj,'x +',-1*qj,')','56')
if mymod(p)==e and mymod(q)==e:print('(','x -',pj,')','(',denoqj,'x -',qj,')','57')
if mymod(p)==f and mymod(q)==e:print('(','x +',-1*pj,')','(',denoqj,'x -',qj,')','58')
if mymod(p)==e and mymod(q)==f:print('(','x -',pj,')','(',denoqj,'x +',-1*qj,')','59')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','60')
if mymod(p)==e and mymod(q)==e:print('(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')')
if mymod(p)==f and mymod(q)==e:print('(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','61')
if mymod(p)==e and mymod(q)==f:print('(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','62')
if pp!=1:
if a!=0:
if y==0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',x,')','(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','63')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x +',x,')','(',denopj,'x -',pj,')','(','x -',qj,')','64')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',x,')','(',denopj,'x +',-1*pj,')','(','x -',qj,')','65')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x +',x,')','(',denopj,'x -',pj,')','(','x -',-1*qj,')','66')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',x,')','(','x +',-1*pj,')','(','x +',-1*qj,')','67')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x +',x,')','(','x -',pj,')','(','x -',qj,')')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',x,')','(','x +',-1*pj,')','(','x -',qj,')','68')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x +',x,')','(','x -',pj,')','(','x +',-1*qj,')','69')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',x,')','(','x +',-1*pj,')','(',denoqj,'x +',-1*qj,')','70')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x +',x,')','(','x -',pj,')','(',denoqj,'x -',qj,')','71')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',x,')','(','x +',-1*pj,')','(',denoqj,'x -',qj,')','72')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x +',x,')','(','x -',pj,')','(',denoqj,'x +',-1*qj,')','73')
else:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',x,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x +',-1*qj,')','74')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x +',x,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','75')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',x,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','76')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x +',x,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','77')
if x==0:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','78')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(',denopj,'x -',pj,')','(','x -',qj,')','79')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(',denopj,'x +',-1*pj,')','(','x -',qj,')','80')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(',denopj,'x -',pj,')','(','x +',-1*qj,')','81')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',-1*pj,')','(','x +',-1*qj,')','82')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x -',pj,')','(','x -',qj,')','83')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',-1*pj,')','(','x -',qj,')','84')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x -',pj,')','(','x +',-1*qj,')','85')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',-1*pj,')','(',denoqj,'x +',-1*qj,')','86')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x -',pj,')','(',denoqj,'x -',qj,')','87')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',-1*pj,')','(',denoqj,'x -',qj,')','88')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x -',pj,')','(',denoqj,'x +',-1*qj,')','89')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','90')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','91')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','92')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','93')
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x -',-1*y,')','(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','94')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x -',-1*y,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','95')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x -',-1*y,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','96')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x -',-1*y,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','97')
if a==0:
if y==69:
if denoqj==1:
if denopj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(',denopj,'x +',-1*pj,')','(','x +',-1*qj,')','98')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(',denopj,'x -',pj,')','(','x -',qj,')','99')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(',denopj,'x +',-1*pj,')','(','x -',qj,')','100')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(',denopj,'x -',pj,')','(','x -',-1*qj,')','101')
if denopj==1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x +',-1*pj,')','(','x +',-1*qj,')','102')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x -',pj,')','(','x -',qj,')','103')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',-1*pj,')','(','x -',qj,')','104')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x -',pj,')','(','x +',-1*qj,')','105')
if denopj==1:
if denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(','x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','106')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(','x -',pj,')','(',denoqj,'x -',qj,')','107')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(','x +',-1*pj,')','(',denoqj,'x -',qj,')','108')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(','x -',pj,')','(',denoqj,'x +',-1*qj,')','109')
if denopj>1 and denoqj>1:
if mymod(p)==f and mymod(q)==f:print('(',pp,')','(',denopj,'x -',-1*pj,')','(',denoqj,'x -',-1*qj,')','110')
if mymod(p)==e and mymod(q)==e:print('(',pp,')','(',denopj,'x -',pj,')','(',denoqj,'x -',qj,')','111')
if mymod(p)==f and mymod(q)==e:print('(',pp,')','(',denopj,'x +',-1*pj,')','(',denoqj,'x -',qj,')','112')
if mymod(p)==e and mymod(q)==f:print('(',pp,')','(',denopj,'x -',pj,')','(',denoqj,'x +',-1*qj,')','113')
print()
print('The number at end the should be ignored, it is only there for purpose of debugging.')
if dick=='large':
print('In this polynomials all zeros are in fractions and so we cannot factorize it on this code.')
Get codes here.
Comments