题解 | #围圈报数# 队列解决 约瑟夫环问题

围圈报数

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

#include <iostream>
#include <queue>
using namespace std;

int m, n;

int main() {
    while(cin >> m)
    {
        while(m--)
        {
            cin >> n;
            queue<int> res;
            if(n == 1) printf("1");
            else if(n == 2) printf("1 2");
            else
            {
                int i;
                printf("3");
                for(i = 4; i <= n; i++) res.push(i);

                res.push(1);
                res.push(2);
                i = 1;
                while(!res.empty())
                {
                    if(i % 3 == 0)
                    {
                        printf(" %d", res.front());
                        res.pop();
                    }
                    else 
                    {
                        res.push(res.front());
                        res.pop();
                    }
                    i++;
                }
            }
            cout << endl;
        }
    }
}

全部评论

相关推荐

找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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