在这个问题中,我必须从表达式(9+10+5)(4+2+178)中去掉公因数表达式的第一部分是(9+10+5),结果是24。表达式的第二部分是(4+2+178),它计算184,去掉24的所有公因数,184得到3/23。
我在得到24和184后卡住了,有人知道逻辑,请帮助!!
def solution(expression):
left_sum=0
right_sum=0
for i in range(len(expression)):
if (expression[i]=='/'):
first=expression[:i]
second= expression[i+1:]
left = eval(first)
# print(left)
right= eval(second)
# print(right)
left_add=[]
right_add=[]
i=1
for i in range(1,min(left,right)):
if(left%i==0 and right %i==0):
left= left//i
right= right//i
# print(i)
# print(right)
solution("(9+10+5)/(4+2+178)")
您可以使用如下函数轻松找到公因数:
def commonfactor(a,b):
if(b==0):
return a
else:
return commonfactor(b,a%b)
print(commonfactor(24,184))
结束你的计算后,你可以找到公因数,然后除以这两个24,184