日常練習總結歸納
//問題問法:譚浩強c語言程式設計書課後題,輸入n,m,其中n表示有n個人圍成一圈,順序排號(編號為n的人的下乙個編號為1)。從第乙個人開始迴圈報數(從1到m報數),凡報到m的人退出圈子,要求輸出所有人出圈的次序。(用鍊錶方式實現)
#include
struct student
;int
main()
//迴圈出13個數字了
p->next=head;
//迴圈完就趕緊成閉環
q=p;
//為了讓p始終當頭,q來當輔助抗傷害
p=head;
//有了q這一輔助,p又成了王,也就是頭子
while
(p!=p->next)
//迴圈終止條件
printf
("get rid of:%d\n"
,p->num)
;//選到了就踢出去
q->next=p->next;
//踢人方式
//p完成了這次while的任務,外迴圈一樣,下移準備下次迴圈
p=p->next;
}//選大王唄,上面其實已經搞定了,這是單純來選一下大王,即剩餘的那個
printf
("選出大王哈哈哈哈:%d"
,p->num)
;//因為此時呢,p經過上面while的任務的全部完成,必然在大王這
}
(C語言)猴子選大王
問題描述 要從n只猴子中選出一位大王。它們決定使用下面的方法 n只猴子圍成一圈,從1到n順序編號。從第q只猴子開始,從1到m報數,凡報到m的猴子退出競選,下一次又從退出的那只猴子的下乙隻開始從1到m報數,直至剩下的最後乙隻為大王。請問最後哪只猴子被選為大王。輸入形式 控制台輸入三個整數n,m,q 輸...
PHP演算法趣談 猴子找大王
將一群猴子排成一圈,按照猴子數按照1,2,n依次編號。然後從第1只開始數,定義數m個猴子,之後將數到的猴子將它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去.如此迴圈的進行下去,直到最後只剩下乙隻猴子為止,那只猴子就是大王。此演算法問題來自於約瑟夫問題 維基百科 約瑟夫斯問題 有時也稱為約瑟夫...
C語言 猴子選大王問題
pta基礎程式設計題目集 7 28 猴子選大王 題目簡介 一群猴子要選新猴王。新猴王的選擇方法是 讓n只候選猴子圍成一圈,從某位置起順序編號為1 n號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問...