一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下一只猴子開始同樣的報數。如此不斷循環,最后剩下的一只猴子就選為猴王。請問是原來第幾號猴子當選猴王?
輸入在一行中給一個正整數N(/le≤1000)。
在一行中輸出當選猴王的編號。
11輸出樣例:
7#include <stdio.h>#include <stdlib.h>int main(){ int book[1000]={0}; int n,location=0,i=0,cnt=0; scanf("%d",&n); while(i<n-1) { if(book[location]==0) { cnt++; if(cnt==3) { book[location]=1; i++; cnt=0; } } location=(location+1)%n; } for(int i=0;i<=n-1;i++) { if(book[i]==0 ){ PRintf("%d/n",i+1); break; } } return 0;}
新聞熱點
疑難解答