7-28 猴子選大王(20 分)
阿新 • • 發佈:2018-07-07
code bre 大王 printf cti 圈子 格式 猴子選大王 can
7-28
7-28 猴子選大王(20 分)
一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下一只猴子開始同樣的報數。如此不斷循環,最後剩下的一只猴子就選為猴王。請問是原來第幾號猴子當選猴王?
輸入格式:
輸入在一行中給一個正整數N(≤1000)。
輸出格式:
在一行中輸出當選猴王的編號。
輸入樣例:
11
輸出樣例:
7
AC代碼
#include<stdio.h> int main(){//用對列應該好做,那麽現在不會隊列,怎麽辦呢? int hou[1000]; int num; scanf("%d",&num); for(int i=1;i<=num;i++){ hou[i]=1; } int baoshu=0; int chuju=0; int i=1; while(i){ if(hou[i]==1) baoshu++; if(baoshu==3){ hou[i]=0; baoshu=0; chuju++; if(chuju==num){ printf("%d",i); break; } } i++; if(i==num+1) i=1; } return 0; }
7-28 猴子選大王(20 分)