标题:士兵队列训练问题
只看楼主
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
结帖率:100%
 问题点数:0 回复次数:2 
士兵队列训练问题
某部队进行新兵队列训练,将新兵从 11 开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数…以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
你有答案了吗?

[此贴子已经被作者于2020-1-29 12:33编辑过]

搜索更多相关主题的帖子: 继续 序号 队列 报数 出列 
2020-01-28 17:56
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
[color=#FFFFFF]大家有答案了吗?
这道题困扰我好久了。。。
[/color]

2020-01-29 12:31
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:0 
程序代码:
#include <iostream>

using namespace std;

int main()
{
    int n,i,j=0,temp=3;
    cout<<"Input:"<<endl;
    cin>>n;

    int array[n+1]={0};
    for(i=1;i<=n;i++)
        array[i]=i;

    do
    {
        j=1;
        if(temp%3==0)
            temp--;
        else
            temp++;

        for(i=1;i<=n;i++)
        {
            if(i%temp!=0)
                array[j++]=array[i];
        }
        n=j-1;

    }while(j>4);

    cout<<"Output:"<<endl;
    for(i=1;i<j;i++)
        cout<<array[i]<<" ";
    cout<<endl;

    return 0;
}


一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-01-29 15:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499031-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021236 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved