#44245: 求給答案


henryko (henry)

學校 : 臺北市立內湖國民小學
編號 : 273167
來源 : [123.252.21.196]
最後登入時間 :
2024-11-17 15:50:32
e514. 01594 - Ducci Sequence -- UVA | From: [123.252.21.196] | 發表日期 : 2024-11-17 16:17

過不了阿

求給答案

過了的人真是天才

用chatgpt會給

n = int(input()) # 第一行输入数字的个数 numbers = list(map(int, input().split())) # 第二行输入数字序列并转换成列表 # 判断是否包含 0 if 0 in numbers: print("ZERO") else: # 判断是否为循环模式(比如 1 2 3 1 2 3) for i in range(1, len(numbers)): if numbers[:i] == numbers[i:i*2]: print("LOOP") break else: print("LOOP")

 
#44247: Re: 求給答案


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 不指定學校
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2024-11-21 19:18:13
e514. 01594 - Ducci Sequence -- UVA | From: [123.192.228.253] | 發表日期 : 2024-11-17 17:33

要不具體描述一下你卡在哪?

 

這題我是按照題目給的說明直接暴力解

把所有過程中所有的元組都求出來並記錄,直到出現重複的元組或零元組為止

 

至於怎麼求......下面這是我的部分程式碼 (python),也許可以參考看看?

我覺得這題最難的就這部分了

# 取陣列中相鄰兩個元素差的絕對值
array = [abs(array[i] - array[i - 1]) for i in range(len(array))]
 
# 把第一個元素移到最後面
array.append(array.pop(0))

 

當 i == 0 時, i - 1 會等於 -1,在 python 中這不會引發 IndexError,而是會從陣列最後方倒著讀取

array[-1] 回傳的是陣列最右側的元素

 

 
ZeroJudge Forum