'''
這裡有100 張寫著數字1~100 的牌,
並按順序排列著。最開始所有 牌都是背面朝上放置。
某人從第2 張牌開始,隔1 張牌翻牌。然後第2, 4, 6, …, 100 張牌就會變成正面朝上。
接下來,另乙個人從第3 張牌開始,隔2 張牌翻牌(原本背面朝上 的,翻轉成正面朝上;
原本正面朝上的,翻轉成背面朝上)。再接下來, 又有乙個人從第 4 張牌開始,隔 3 張牌翻牌。
像這樣,從第n 張牌開始,每隔n-1 張牌翻牌,直到沒有可翻動 的牌為止。
'''# 問題:求當所有牌不再變動時,所有背面朝上的牌的數字
ls = [0] * 100
# 建立乙個列表,假設0為牌背面朝上,1為牌正面朝上
for i in range(1, 100): # 100張牌需要99次翻牌
loction = i
while loction <= 99:
if ls[loction] == 0: # 如果是背面朝上
ls[loction] = 1
elif ls[loction] == 1: # 如果是背面朝上
ls[loction] = 0
# 做完一次迴圈,去改變下乙個值
loction = loction + i + 1
#輸出背面朝上的牌
for i in range(100):
if ls[i]==0:
print(i+1,end=" ")
輸出:
1 4 9 16 25 36 49 64 81 100
要點:
要想到怎麼設定翻牌,翻牌的次數
程式設計師的演算法趣題 Q3翻牌
這裡有 100 張寫著數字 1 100 的牌,並按順序排列著。最開始所有牌都是背面朝上放置。某人從第 2 張牌開始,隔 1 張牌翻牌。然後第 2,4,6,100 張牌就會變成正面朝上。接下來,另乙個人從第 3 張牌開始,隔 2 張牌翻牌 原本背面朝上的,翻轉成正面朝上 原本正面朝上的,翻轉成背面上 ...
寫在Q3即將結束
q3馬上就要結束了,回想這個季度,自己做的事情有限,大部分的精力都放在了b2c垂直平台的開發上,乙個人搞這個專案,稍感疲憊,尤其是從css,freemarker,ftl,jquery,dwr,ckeditor,頁面特殊控制項 等前台一直到spring,spring security,lucene,m...
Q3的紛爭個人觀點
近期,q3如火如荼,讓人憤怒不已,讓人反思幾件事情 1 人的本性 這點不像說什麼,360現任ceo到底在幹嘛?乙個3721的流氓軟體,現在又將別人建立的360變成第二個3721,誰來負責?乙個原本服務於大眾的東西,現在讓大家服務於他,於心何忍。不知360開始是什麼,傅盛為何要和以前的3721ceo搞...