喊7 是一個(gè)傳統(tǒng)的聚會(huì)游戲,N個(gè)人圍成一圈,按順時(shí)針從1-7編號(hào)
編號(hào)為1的人從1開始喊數(shù),下一個(gè)人喊得數(shù)字是上一個(gè)人喊得數(shù)字+1
但是當(dāng)將要喊出數(shù)字7的倍數(shù)或者含有7的話,不能喊出 而是要喊過
假定N個(gè)人都沒有失誤。當(dāng)喊道數(shù)字k時(shí),可以統(tǒng)計(jì)每個(gè)人喊 “過"的次數(shù)
現(xiàn)給定一個(gè)長(zhǎng)度n的數(shù)組,存儲(chǔ)打亂的每個(gè)人喊”過"的次數(shù),請(qǐng)把它還原成正確順序,
即數(shù)組的第i個(gè)元素存儲(chǔ)編號(hào)i的人喊“過“的次數(shù)
輸入為1行,空格分割的喊過的次數(shù), 注意k并不提供,k不超過200,數(shù)字個(gè)數(shù)為n
輸出為1行,順序正確的喊過的次數(shù) ?空格分割
例子
輸入
0 1 0
輸出
1 0 0
只有一次過,發(fā)生在7,按順序編號(hào)1的人遇到7 ?所以1 0 0,結(jié)束時(shí)的k不一定是7 也可以是 8 9, 喊過都是1 0 0
例子
輸入
0 0 0 2 1
輸出
0 2 0 1 0
一共三次喊過,發(fā)生在7 14 17,編號(hào)為2 的遇到7 17,編號(hào)為4 的遇到14。
def relateSeven(n):
return "7" in str(n) or n % 7 == 0
nums = list(map(int, input().split()))
# nums = [0,0,0,2,1]
k = len(nums)
flag = [0] * k # 與nuns長(zhǎng)度相同的數(shù)組,用于統(tǒng)計(jì)對(duì)應(yīng)位置出現(xiàn)與7相關(guān)的個(gè)數(shù)。
i = 1
while sum(nums) != sum(flag): # 只要標(biāo)記的“7”個(gè)數(shù)不夠就循環(huán)不斷!
for j in range(k): # 模擬排數(shù),只需要統(tǒng)計(jì)與7相關(guān)即可,不需要真正進(jìn)行排數(shù)。
if relateSeven(i): # 相關(guān)則flag對(duì)應(yīng)位置+1
flag[j] += 1
else: # 不相關(guān)則flag對(duì)應(yīng)位置+0
flag[j] += 0 # 注意不是賦值0,不然會(huì)覆蓋之前該位置相關(guān)的記錄。
i += 1 # 數(shù)不斷往上排
print(flag)
方法二:def relateSeven(n):
return "7" in str(n) or n % 7 == 0
nums = list(map(int, input().split()))
# 1.找出所有與7相關(guān)的數(shù)(k不超過200)
seven = []
k = len(nums)
for i in range(1, 201):
if relateSeven(i):
seven.append(i)
# print(seven)
# 2.縮短查找范圍
tem = []
for i in range(1, seven[sum(nums)]):
tem.append(i)
# 3.二維數(shù)組模擬(類似矩陣但非矩陣)
res = []
while len(tem) >0:
res.append(tem[:k])
tem = tem[k:]
# print(res)
# 4.列的位置計(jì)數(shù)(與7相關(guān)+1)
flag = [0 for _ in range(k)]
for row in res:
for j in row:
if relateSeven(j):
flag[row.index(j)] += 1
# print(row)
print(flag)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享題目:華為OD機(jī)試-喊7游戲-創(chuàng)新互聯(lián)
文章分享:http://newbst.com/article10/dggido.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)建站、網(wǎng)站制作、搜索引擎優(yōu)化、商城網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容