C語言 猴子找大王

2021-10-12 09:33:04 字數 733 閱讀 1191

日常練習總結歸納

//問題問法:譚浩強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的猴子即退出圈子,接著又從緊鄰的下乙隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的乙隻猴子就選為猴王。請問...