你好,我必须回答这个问题作为一项任务。我已经做了代码,但我没有得到满分,因为显然我错过了一些条件
给定两个整数AA和BB,通过应用下面所示的任意数量的运算来确定是否可以执行相同的操作:
把数AA乘以2。
把BB数乘以2。
如果为真,则打印“felizmil”,否则输出“tristemil”
代码
def ___gcd(a,b):
if (a == 0 or b == 0):
return 0
if (a == b):
return a
if (a > b):
return ___gcd(a-b, b)
return ___gcd(a, b-a)
def lcmOfArray(arr,n):
ans = arr[0]
for i in range(1,n):
ans = (arr[i]*ans)/___gcd(arr[i], ans)
return ans
def checkArray(arr, num, n, m):
lcm = lcmOfArray(arr, n)
for i in range(n):
val = lcm/arr[i]
for j in range(m and val!=1):
while (val % num[j] == 0):
val = val/num[j]
if (val != 1):
return 0
return 1
arr=list(map(int,raw_input().split()))
num = [2]
n = len(arr)
m = len(num)
if 0 in arr:
print("tristemil")
else:
if(checkArray(arr, num, n, m)):
print("felizmil")
else:
print("tristemil")
示例-->; 3.5输出:tristemil 14.7输出:felizmil
我不知道我遗漏了哪些病例/情况,我非常感谢你的帮助。非常感谢:D
我的朋友A.Mercado用以下代码解决了这个问题:
我们可以做到:
相关问题 更多 >
编程相关推荐