蒟蒻求救,为什么只能对前面两个qaq(后两个超内存
查看原帖
蒟蒻求救,为什么只能对前面两个qaq(后两个超内存
866144
holo_23楼主2022/12/6 17:58
#include<stdio.h>
int a[100000];
int del(int a[],int n,int s,int m)
{
	if(n<=2)
	return 0;
	else
	{
		int *arr=a+s,*arr_end=a+n;
		int *arr_s=a+s;
		int count=0;
		for(;arr<=arr_end;arr++)
		{
			if((arr-arr_s)%(m-1)==0)
			{
				printf("%d ",*arr);
				for(int *p=arr;p<arr_end;p++)
				{
					*p=*(p+1);
				}
				arr_end--;
				count++;
				arr_s=arr;
			}
		}
		n-=count;
		del(a,n,m-1-(arr_end-arr_s),m);
	}
}
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		a[i]=i;
	}
	del(a,n,m,m);
	printf("%d %d",a[1],a[2]);
}
2022/12/6 17:58
加载中...