代码实现:
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
void qdjsph(int *p,int n,int m,int k)
{
int *b;
b=(int *)malloc(n*sizeof(int));
for(int i=0;i<n;i++)
{
b[i]=i+1;
}
k--;
b[n-1]=0;
int l;
for(int i=0;i<n;i++)
{
for(int j=1;j<m;j++)
{
l=k;
k=b[k];
}
p[i]=k+1;
b[l]=b[k];
k=b[k];
}
free(b);
return;
}
int main()///n=8,m=4,k=3;
{
int p[8];
qdjsph(p,8,4,3);
for(int i=0;i<8;i++)
{
printf("%d ",p[i]);
}
printf("\n");
return 0;
}