題目:
一、構建環形鍊錶
type boy struct
func
add(num int
)*boy
help:=
&boy
if num<
1//小於1無法構建鍊錶
for i:=
1;i<=num;i++
if i==
1else
}//構建環形鍊錶
return temp
}
二、環形鍊錶的展示
func
show
(temp *boy)
for first=first .next
}}
三、約瑟夫問題實現
func
playgame
(first *boy,startno int
,countno int
) help:=first
forhelp=help.next
}for i:=
0;i1;i++
for fmt.
printf
("[%d]號->"
,first.num)
first=first.next
help.next=first
if first==help
} fmt.
printf
("[%d]號->"
,first.num)
}
四、主函式呼叫
func
main()
看完如果對自己有幫助,請點贊支援,謝 經典演算法問題之約瑟夫問題
據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報數,直到所...
經典演算法之約瑟夫環問題
前幾天看到乙個程式設計題,約瑟夫環問題。問題的由來是乙個猶太故事,41乙個人被困,有39個人想要自殺,想活下去的兩個人就出主意說,大家圍成乙個環,報到3的人自殺。結果兩個人成功脫險,也就誕生了這個演算法。由於本人實力有限,寫出的程式也並未進行優化,可能時間複雜度和空間複雜度上有很多問題,只希望給各位...
面試演算法問題
網易2017校園招聘演算法題 找數字問題 1 問題描述 給定陣列a,除了乙個數出現一次外,其他的數字出現3次,求只出現一次的數字 2 要點 不考慮只出現一次的數,在每個bit上,1和0的個數都是3的倍數。3 include int main unsigned int ncases 0 scanf d...