首页 > 代码库 > C# for循环 迭代法 穷举法应用
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+"个");
}
}
}
}
}
}
}
C# for循环 迭代法 穷举法应用