c语言数组解决josephus问题
哪位大侠帮我改下程序我写了一个大概的代码,发现不了错误#include<stdio.h>#include<stdlib.h>voiddelete(intb[n],intk...
哪位大侠帮我改下程序
我写了一个大概的代码,发现不了错误
#include<stdio.h>
#include<stdlib.h>
void delete(int b[n],int k)
{
int j;
for(j=k;j<n-1;j++)
{
b[j]=b[j+1];
n--;
}
}
void main()
{
int m,s,t,i,n,*p;
scanf("%d",&m);
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
scanf("%d",&s);
for(i=0;i<n;i++)
p[i]=i;
t=s-1;
for(i=n;i>0;i--)
{
t=(t+m-1)%i;
printf("%d",p[t]);
delete(p,t);
}
} 展开
我写了一个大概的代码,发现不了错误
#include<stdio.h>
#include<stdlib.h>
void delete(int b[n],int k)
{
int j;
for(j=k;j<n-1;j++)
{
b[j]=b[j+1];
n--;
}
}
void main()
{
int m,s,t,i,n,*p;
scanf("%d",&m);
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
scanf("%d",&s);
for(i=0;i<n;i++)
p[i]=i;
t=s-1;
for(i=n;i>0;i--)
{
t=(t+m-1)%i;
printf("%d",p[t]);
delete(p,t);
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询