码迷,mamicode.com
首页 > 其他好文 > 详细

报数字(约瑟夫环问题)

时间:2017-05-31 18:56:24      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:游戏   cin   input   amp   bsp   output   div   问题   main   

Description

佳佳和幼儿园里的小朋友经常一起玩一个游戏:N个小朋友坐成一圈,从第一个小朋友开始报数,从1开始依次报,每个报到M的小朋友要起来表演节目,然后那个小朋友从圈里出去,接下来的小朋友继续从1开始。直到只剩下最后一个小朋友。佳佳一点也不喜欢自己表演,所以他想知道的是,他坐在哪个位置,才能一直坚持到最后呢?

 

Input

输入包括多组数据,每组数据是两个整数N,M(N,M<=1000000),输入以0 0结束

 

Output

对每组输入数据,输出佳佳坐的位置

 

Sample Input

3 1
3 2
0 0

 

Sample Output

3
3
 
代码:
#include <iostream>
int main(){
  int n,m,i,l;
  while(std::cin>>n>>m){
    if(n==0&&m==0)
      break;
    l=0; 
    for(i=2;i<=n;++i)
      l=(l+m)%i;
    std::cout<<l+1<<std::endl;
  }
}

报数字(约瑟夫环问题)

标签:游戏   cin   input   amp   bsp   output   div   问题   main   

原文地址:http://www.cnblogs.com/xuyt/p/6925081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!