题解 | 约瑟夫环

约瑟夫环

https://www.nowcoder.com/practice/e417cfe32c74416ca38247f619ddb322

#include <stdio.h>

int main() {
   int n,k,m;
   scanf("%d %d %d",&n,&k,&m);
   int arr[n];
   for(int i=0;i<n;i++){
    arr[i]=i;
   }
   int len=n;//当前剩余人数
   int pos=k;//记录当前起始位置
   while(len>1){
    pos=(pos+m-1)%len;
   for(int j=pos;j<len-1;j++){
        arr[j]=arr[j+1];
    }
    len--;
   }
    printf("%d\n",arr[0]);
    return 0;
}

全部评论

相关推荐

烤点老白薯:亲娘嘞🐶💩啊你的简历
点赞 评论 收藏
分享
递归到脑子变傻:杭州还有上位机用VB的,实在没绷住
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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