首页 > 试题广场 >

分糖游戏。

[填空题]

分糖游戏。有 n 个小朋友围成一圈( n<=20 ),顺序编号。从 1 号小朋友开始 1 2 3 报数,凡报到 3 的小朋友退出圈子,圈中剩下最后的这个小朋友将分得巧克力糖。下面程序是输入小朋友人数 n ,输出最后圈内剩下的一个那个小朋友的编号。

特别说明:从 1 号开始报数,一圈报数完后,绕圈继续报数,直到圈中剩下最后一个人为止。程序中数组 a 的含义 :a[i]=1 表示编号为 i 的小朋友在圈内 ,a[i]=0 表示编号为 i 的小朋友不在圈内。

程序运行示例:

input 10

4

程序:

#include<stdio.h>

void main( )

{  
    int i,a[21],k=0,n,c;

    printf("input n:");

    scanf("%d",&n);

    for(i=1;i<=n;i++)

        a[i]=1;

    c=0;

    while((n-c)>1)
    {  
        for(i=1;i<=n;i++)
        {  
            if(a[i]!=0)
                k++;

            if (k==3)

            {
                1 ;

                k=0;

                2 ;

            }

        }

    }

    for(i=1;i<=n;i++)

        if ( 3 )
            printf("%d\n",i);

}

    a[i]=0;
    c++;
    a[i]==1
发表于 2022-04-09 18:35:25 回复(0)