📄 ds2_2.cpp
字号:
// ds2_2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "array.h"
void Josephus(array<int>a,int n,int s,int m){
int i,j,k,temp;
if(m==0) {cout<<"无效参数!"<<endl; return; }
for(i=0; i<n; i++) a[i]=i+1;
i=s-1;
for(k=n; k>=1; k--){
if(i==k)i=0;
i=(i+m-1)%k;
if(i!=k-1){
temp=a[i];
for(j=i; j<k-1; j++) a[j]=a[j+1];
a[k-1]=temp;
}
}
for(k=0; k<n/2; k++){
temp=a[k];
a[k]=a[n-k-1];
a[n-k-1]=temp;
}
for(i=0; i<n; i++) cout<<a[i]<<',';
cout<<endl;
}
int main(int argc, char* argv[])
{
int number,start,men;
cout<<"请输入总人数..."<<endl; cin>>number;
cout<<"请输入开始位置..."<<endl; cin>>start;
cout<<"请输入出局位置..."<<endl; cin>>men;
array<int> people(number);
Josephus(people,number,start,men);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -