日期:2014-05-17 浏览次数:20973 次
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _01
{
class Program
{
static int divisor = 2; //除数因子,因为从第二次开始算,所以取2
static int[] lights = new int[100]; //100个灯的数组
static void Main(string[] args)
{
for (int i = 0; i < lights.Length; i++)
{
lights[i] = 1; //初始化所有灯的值为1(任何整数均可,打开就是正的,关了就乘-1
}
int n =100;
int result = count(n); //第100次的结果
Console.WriteLine("第{0}次,大厅里还有{1}盏灯是亮的",n,result);
Console.ReadKey();
}
static int count(int n)
{
if (n >= 2) //从2次起算,1次直接返回100
{
loop(n); //暴力循环,模拟开关n次
int sum = 0;
for (int i = 0; i < lights.Length; i++)
{
if (lights[i]> 0)
{
sum += 1; //把最后循环的结果,遍历一次,大于0的表示灯的状态是开,用sum记录
}