xiaohuanghuang_
xiaohuanghuang_
采纳率85.7%
2021-03-03 13:18

约瑟夫最后一个死的问题

#include<stdio.h>
void main()
{
	int m,n,arr[40],brr[40],biao[40],k=0,b=0,t;
	scanf("%d%d",&n,&m);
	for (int i = 0; i < n; i++)
	{
		biao[i]=i+1;
	}
	while (1)
	 
	{
		t=biao[1];
		for (int i = 0; i <= n; i+m)
		{
			arr[b]=biao[i];
			b++;
		}	//出来的
		for (int g = 0; g < n; g++)
		{
			if (g%m!=0)
			{
				brr[k]=biao[g];
			}		//还在里面的
			k++;
		}

		for (int f = 0; f < k; f++)
		{
			biao[f]=brr[f];
		}
		if (biao[1]==t)
		{
			break;
		}
	}
	printf("最后一个出列的是%d",biao[0]);
}

想知道为什么输不出来biao[0]

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_25376897 qq_25376897 1月前

    题目要求

    点赞 评论 复制链接分享
  • hfcaoguilin infsml 1月前

    贴源码文本

    点赞 评论 复制链接分享