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

一些项目——约瑟夫问题

时间:2015-01-08 18:04:30      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:c++   cpp   编程   计算机   指针   

Description

n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。 请输出最后一个人的编号。

Input

输入n和m值。

Output

输出胜利者的编号。

Sample Input

5 3

Sample Output

4
 
 
代码
#include<iostream> 
using namespace std; 
int main() 
{ 
    int n,m,i,mi=0,k=0,p[10],y; 
    cin>>n>>m; 
    for(i=0; i<n; i++) 
        p[i]=1; 
    for(i=0; i<n; i++) 
    { 
        mi++; 
        if(p[i]==0) 
            mi--; 
        if(mi==m) 
        { 
            p[i]=0; 
            k++; 
            mi=0; 
        } 
        if(k==n-1) 
        { 
            for(y=0; y<n; y++) 
                if(p[y]==1) 
                    break; 
                break; 
        } 
        if(i==n-1) 
            i=-1; 
    } 
    cout<<y+1; 
    return 0; 
}

一些项目——约瑟夫问题

标签:c++   cpp   编程   计算机   指针   

原文地址:http://blog.csdn.net/blue_skyrim/article/details/42526339

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