2186: C语言-报数

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89207253

在这里插入图片描述

这道题题眼主要在n人围成一圈,循环报数,1,2,3,
用数组下标来表示第几个人。
数组数据来表示是否退出圈子

#include<bits/stdc++.h>
using namespace std;
int main() {
	int k;
	int i;
	int num=0,sum=0;
	bool key=true;
	cin>>k;
	int a[k];
	for(int i=0;i<k;i++){
		a[i]=1;
	}
	while(key){
		i=0;
		while(i<k){
			if(a[i]==1){
				num+=1;   //报数 
			}
			if(num==3){
				a[i]==0;
				sum+=1;
				num=0;
			}
			i++;
		}
		if(sum==k-1){
			key=false;
		}
	}
	for(int i=0;i<k;i++){
		if(a[i]==1){
			cout<<i+1;
			break;
		} 
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41638851/article/details/89207253