m0_51126815 2021-10-17 10:59 采纳率: 100%
浏览 37
已结题

C语言用数据结构解决

7-1 约瑟夫环
N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数,报p的人再退出圈外,以此类推。 请按退出顺序输出每个退出人的原序号。
输入格式:
输入只有一行,包括一个整数N(1<=N<=3000)及一个整数p(1<=p<=5000)。
输出格式:
按退出顺序输出每个退出人的原序号,数据间以一个空格分隔,但行尾无空格。
输入样例:
在这里给出一组输入。例如:
7 3
结尾无空行
输出样例:
3 6 2 7 5 1 4
结尾无空行

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-17 12:18
    关注

    供参考:

    #include<iostream>
    using namespace std;
    int main(){
        int N,p,i=0,j=0,a[3000]={0},q=0;
        cin>>N>>p;
        while(j!=N){
            if(a[i]==0){
                q++;
                if(q==p)
                {
                    if(j == 0) cout<<i+1;
                    else       cout<<" "<<i+1;
                    a[i]=1;
                    j++;
                    q=0;
                }
            }
            i++;
            if(i>=N) i=0;
        }
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月17日

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退