C# for循环 迭代法 穷举法应用

迭代

 

 //兔子生兔子    

class Class5    

{        

static void Main(string[] args)      

   {           

    int tu1 = 1, tu2 = 1; //tu1是倒数第一个月的兔子数,tu2是倒数第二个月的兔子数         

    int tu=0;//要求的这个月的兔子数。

            for (int i = 3; i <= 24; i++)          

   {                 tu = tu1 + tu2;               

                      tu2 = tu1;            

                      tu1 = tu;                         

     }           

  Console.WriteLine(tu);      

   }   

  }

 

 

 //求年龄:有6个小孩子排在一起,问第一个多大年龄,他说比第二个小2岁,问第二个多大年龄,他说比第三个小2岁,以此类推,问第6个多大年龄,他说自己16岁。问第一个小孩子几岁?
    class Class2
    {
        static void Main(string[] args)
        {
            int age = 16; //初始情况下,存的是第6个小孩子年龄,每次循环都会减2,分别代表第5,4,3,2,1个小孩子的年龄。
            for (int i = 5; i >= 1; i--)
            {
                age = age - 2;
            }
            Console.WriteLine(age);
        }
    }
}

 

  //猴子吃桃子。
    //公园里有一只猴子,和一堆桃子。猴子每天吃掉桃子数量的一半,把剩下的一半数量中扔掉一个坏的。到了第7天猴了睁开眼发现只剩下一个桃子了,问原来有多。
    //190
    class Class4
    {
        static void Main(string[] args)
        {
            int count = 1;
            for(int i=6;i>=1;i--)
            {
                count = (count + 1) * 2;
            }
            Console.WriteLine(count);
        }
    }
}

 

 

穷举

2.有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式?

 

static void Main(string[] args)
        {
            for(int a=0;a<=15;a++) //a代表1分的硬币个数
            {
                for(int b=0;b<=7;b++)//b代表2分的硬币个数
                {
                    for(int c=0;c<=3;c++)//c代表5分硬币的个数
                    {
                        if(a*1+b*2+c*5 == 15)
                        {
                            Console.WriteLine("1分硬币需要"+a+"个,2分的硬币需要"+b+"个,5分的硬币需要"+c+"个");
                        }
                    }
                }
            }
        }
    }
}

posted @ 2014-12-29 10:13  奔跑的小黄鸡  阅读(176)  评论(0编辑  收藏  举报