约瑟夫环

约瑟夫环

https://ac.nowcoder.com/acm/contest/19306/1003

https://ac.nowcoder.com/acm/contest/19306/1003

来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒

空间限制:C/C++ 32768K,其他语言65536K

64bit IO Format: %lld

题目描述

n个人(0,1,2,3,4...n-1),围成一圈,从编号为k的人开始报数,报数报到m的人出队(报数是

1,2,...m这样报的)。下次从出队的人之后开始重新报数,循环往复,当队伍中只剩最后一个人的时

候,那个人就是大王。现在,给定n,k,m,

请你求出大王的编号。

输入描述:

输入一行包含三个整数n,k,m

1<=n<=100,1<=k<=n-1,1<=m<=100

输出描述:

输出一个整数

示例1

输入

5 1 2

输出

#include <stdio.h>

int main()

{

int n,k,m;
scanf("%d%d%d",&n,&k,&m);
int a[100]={0};
int t=0,q=0,i=k-1;
while(1)
{
    i++;
    if(a[i]!=-1){
        t++;
        if(t==m)
          {
            a[i]=-1;
            q++;
            t=0;
          }
     
       }
     if(q==n-1) break;
       if(i==n-1) i=-1;
}

for(int i=0;i<n;i++)
    if(a[i]!=-1) {
        printf("%d",i);
        break;
    }

}

全部评论

相关推荐

CARLJOSEPH...:宝宝你戾气太大了
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-03 16:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务