用C++如何编写约瑟夫环问题?

 我来答
tangjialuputin
2018-02-01
知道答主
回答量:1
采纳率:0%
帮助的人:2.8万
展开全部
#include <iostream>
using namespace std;
int main()
{
int n,s,m;
cout<<"please input the valuse of n,m,s"<<endl;
cin>>n>>m>>s;
if(n<=0||s<=0||m<=0)
{
cout<<"error"<<endl;
}
int i,j,k,temp;//k为次数
int A[100];
for(i=0;i<n;i++)
{
A[i]=i+1;
}//建立数组
i=s-1;//设定开始报数的起始位置
for(k=n;k>1;k--)
{
i=((i+m-1)%k);//计算要报数人序号
if(i!=k-1)
{
temp=A[i];
for(j=i;j<k-1;j++)
A[j]=A[j+1];//将i位置一直到k-1位置元素向前移一位
A[k-1]=temp;//将报数的人移动至数组最后
}
}
cout<<"the jodephus order is"<<endl;
for(k=n-1;k>=0;k--)
{

cout<<A[k]<<" ";//反向输出输出数组元素即为所求数列
}

return 0;
}
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式