该程序仅适合初级菜鸟程序员
题目:100个犯人 编号 围成一个圈 一个个报数 报到5的枪毙 一次循环 最后活下来的是 第几号。?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[100];
for (int i = 0; i < 100; i++)
{
a[i] = i + 1;
}
int c = 0;//一到五报数
int n = 100;//100人
int k = 0; //100号
int count = 0;//杀死的人数
while(n > 1) {///100个人轮流报数
if(a[k] != 0 && c++ == 4) {//喊道五的死
Console.WriteLine("編號為{0}的人被T出", a[k]);
count++;
a[k] = 0;//让每个死的人号 变成零
c = 0;//让c 初始化 接着循环
n--;//减去死掉的人
}
if (++k == 100)
k = 0;//是一百个号 初始化
}
Console.WriteLine(count);
for(int i = 0; i<100 ; i++){
if (a[i] > 0)
{
Console.WriteLine("最后剩下的人的編號是: {0}", a[i]);
}
}
}
}
}