文章

51

粉丝

68

获赞

22

访问

11.5k

头像
猴子报数 题解:约瑟夫问题
P1081 兰州大学/湖南大学机试题
发布于2025年1月27日 13:30
阅读数 71

#include <bits/stdc++.h>
using namespace std;


int main(){
    int n,p,m;
    while(cin>>n>>p>>m){
        if(n==0)break;
        vector<int>a(n);
        for(int i=0;i<n;i++)a[i]=i+1;
        p=p-1;m=m-1;
        while(a.size()>1){
            p=p+m>=a.size()?(p+m)%a.size():p+m;
            cout<<a[p]<<",";
            a.erase(a.begin()+p);
        }
        cout<<a[0]<<endl;
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发