Problem H: 完善程序(Josephus 问题)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:72 Solved:7

Description

Josephus 问题)有 n 个人围成一个圈,依次标号 0 n-1。从 0 号开始,依次 0 1 0 1 ... 交替报数,报到 1 的人会离开,直至圈中只剩下一个人。求最后剩下人的编号。

试补全下面的程序。


①处应填( )
A. i < n     B. c < n     C. i < n - 1     D. c < n - 1

②处应填( )
A. i % 2 == 0     B. i % 2 == 1     C. p     D. !p

③处应填( )
A. i++     B. i = (i + 1) % n     C. c++     D. p ^= 1

④处应填( )
A. i++     B. i = (i + 1) % n     C. c++     D. p ^= 1

⑤处应填( )
A. i++     B. i = (i + 1) % n     C. c++     D. p ^= 1

Sample Input Copy


Sample Output Copy


HINT

选择的答案,依照下列程序填入:
#include<cstdio>
int main(){
int n=0;
scanf("%d",&n);

switch(n){
     
/*****************************************
* 答题区
*   请将答案写在以下的printf函数的双引号中
*   例如: case 1:  printf("A"); break;
*               ^第一题     ^答案为A
****************************************/      
case 1:    printf("B");         break;
case 2:    printf("D");         break;
case 3:    printf("A");         break;
case 4:    printf("A");         break;
case 5:    printf("B");         break;
//*****************************************
// 答题结束
//****************************************     
 
}
return 0; 
}