一群猴子要選新猴王。新猴王的選擇方法是:讓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;}
新聞熱點
疑難解答