Py3 約瑟夫環的實現

Powered by:AB_IN 局外人

P1283: 【出圈】

掛一下經過老師的代碼優化過的PY代碼

while True:
    try:
        n,m=map(int,input().split())
        lst=[i+1 for i in range(n)]
        while len(lst)>1:
            if m%len(lst):
                i= m%len(lst)-1
            else:
                i=len(lst)-1
            lst=lst[i+1:]+lst[:i]
        print(lst[0])
    except:
        break

C++

#include <bits/stdc++.h>
using namespace std;
queue<int>q;
int main()
{
    int n,m,num;
    while(cin>>n>>m){
    for(int i=1;i<=n;i++){
        q.push(i);
    }
    num=0;
    while(q.size()>1){
        num++;
        int tmp=q.front();
        q.pop();
        if(num%m!=0)
            q.push(tmp);
    }
    cout<<q.front()<<endl;
    q.pop();
    }
    return 0;
}

完結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章