迭代法,穷举法及其练习题

总结:
1、基本语法:
数据类型,类型转换,输入输出,运算符(条件运算符) ? :

2、分支语句:
有选择性的执行某行或某段代码
if ... else if ... else... --最主要,必须要记住并且灵活运用
switch ... case ... default... --看到要明白什么意思

分支嵌套:在符合一定条件的基础上继续判断其它条件

3、循环语句:
循环四要素:初始条件,循环条件,循环体,状态改变
for() //最常用,最好用,最清晰,最灵活
{

}
必须记住,掌握,灵活运用

while() //不够清晰
{

}

foreach() //遍历,数组,集合(泛型集合)
{

}

循环的嵌套:
一般只需要套两层循环就足够了,外面的循环走一遍,里面的循环会走一整遍

-------------------------------------------------------------------
!!!!中间变量的运用,要灵活掌握
-------------------------------------------------------------------

迭代法:
每次循环都要把某一个或多个变量不断放大,为的是下一次循环可以继续使用,最后达到最终的大小。
代表性的题:
1、累加求和
2、阶乘
3、折纸
int sum = 0;
for(int i=1;i<=10;i++)
{
sum += i;
}

穷举法:
将所有的可能性都走一遍,然后判断符合条件的可能性,单独拿出来。
基本用法:
int count = 0;
for (int i = 1; i <= 15; i++) //1分的硬币
{
    for (int j = 1; j <= 7; j++)//2分的硬币
    {
        for (int u = 1; u <= 3; u++) //5分的硬币
        {
             if (i + (j * 2) + (u * 5) == 15) //判断这种可能性的硬币够不够15分
             {
                  Console.WriteLine("1分的需要" + i + "个,2分的需要" + j + "个,5分的需要" + u + "个");
                  count++;
             }
        }
    }
}

Console.WriteLine("总共有" + count + "种可能性!");
-------------------------------------------------------------------------------------------------
穷举练习题:
1、有三种硬币若干个,1分,2分,5分,如果要凑够1毛5,有哪些组合方式?
扩展:三种硬币最少都要有一个

            int count = 0;
            //若初始条件 int i = 1/int j = 1/int h = 1 ,
            //代表每一种价值的硬币在组合中必须有一个。
            for (int i = 0; i <= 15; i++)
            {
                for (int j = 0; j <= 7; j++)
                {
                    for (int h = 0; h <= 3; h++)
                    {
                        if (i + (j * 2) + (h * 5) == 15)
                        {
                            Console.WriteLine("一分的需要" + i + "个,两分的需要" + j + "个,五分的需要" + h + "个。");
                            count++;
                        }
                    }
                }
            }
            Console.WriteLine("符合要求的可能性有" + count + "种。");

2、小张过年发了100元购物券,他要买香皂(5元),牙刷(2元),洗发水(20元),想要正好把100元花完,有几种购买组合?

            int a = 0;
            for (int i = 0; i <= 50; i++)
            {
                for (int j = 0; j <= 20; j++)
                {
                    for (int k = 0; k <= 5; k++)
                    {
                        if ((i * 2) + (j * 5) + (k * 20) == 100)
                        {
                            Console.WriteLine("小张可以买到" + i + "块香皂," + j + "只牙刷," + k + "瓶洗发水。");
                            a++;
                        }
                    }
                }
            }
            Console.WriteLine("符合条件的可能性有" + a + "种。");

3、百鸡百钱,有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,该如何买?

            int a = 0;
            for (int i = 0; i <= 50; i++)
            {
                for (int j = 0; j <= 100; j++)
                {
                    for (int k = 0; k <= 200; k++)
                    {
                        if ((i * 2) + j + (k * 0.5) == 100)//k*0.5 不可以写作 k/2 ! 因其中的0.5必须是固定的
                        {
                            if (i + j + k == 100)
                            {
                                Console.WriteLine("公鸡" + i + "只,母鸡" + j + "只,小鸡" + k + "只。");
                                a++;
                            }
                        }
                    }
                }
            }
            Console.WriteLine("一共有" + a + "种");

时间: 2024-11-05 18:54:02

迭代法,穷举法及其练习题的相关文章

C#跳转语句 迭代法 穷举法

一.跳转语句 break & continue break:跳出循环,终止此循环,不管下面还有多少次,全部跳过. string a=" ", for (int i=1;i<=10;I++) { if(i==5) { break; } a += i +",": } Console.WriteLine(a); 输出结果为 1,2,3,4,5 continue:终止此次循环,直接开始下次循环. string a=" ", for (int

C# for 循环 迭代法 穷举法

for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加分号. for的嵌套. 应用:迭代法,穷举法. 一.迭代法: 有一定规律. 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备. 例: 1.100以内所有数的和. 2.求阶乘 3.求年龄. 4.折纸. 5.棋盘放粮食( 自己做) 6.猴子吃桃子 7.落球问题.(自己做)一个球

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);

1224循环————迭代法、穷举法

for()循环.四要素:初始条件,循环条件,状态改变,循环体.执行过程:初始条件--循环条件--循环体--状态改变--循环条件....注意:for的小括号里面分号隔开,for的小括号后不要加分号.for的嵌套.应用:迭代法,穷举法.一.迭代法:有一定规律. 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备.例:1.100以内所有数的和. int sum = 0; for (int i = 1; i <= 100; i++) { sum = sum + i; } Cons

C#(4)—for语句的应用:迭代法与穷举法

for()循环.四要素:初始条件,循环条件,状态改变,循环体.执行过程:初始条件--循环条件--循环体--状态改变--循环条件....注意:for的小括号里面分号隔开,for的小括号后不要加分号.for的嵌套.应用:迭代法,穷举法.一.迭代法:有一定规律. 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备.例:1.100以内所有数的和. 2.求阶乘3.求年龄.4.折纸. double a = 0.01; for(int i=1;i<=50;i++) { a = 2 *

2017.02.24C# 跳转语句,迭代法,穷举法,异常语句处理。

一,跳转语句(1)break: 代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace @break 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 Int32 a = 0; 13 for(a=0;a<25;a++) 14 { 15 Consol

for循环的应用:迭代法和穷举法

for()循环.四要素:初始条件,循环条件,状态改变,循环体.执行过程:初始条件--循环条件--循环体--状态改变--循环条件....注意:for的小括号里面分号隔开,for的小括号后不要加分号.for的嵌套.应用:迭代法,穷举法.一.迭代法:有一定规律. 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备. 二.穷举法:用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来.

迭代法和穷举法

迭代法:每次循环都要把某一个或多个变量不断放大,为的是下一次循环可以继续使用,最后达到最终的大小.代表性的题:1.累加求和2.阶乘3.折纸int sum = 0;for(int i=1;i<=10;i++){ sum += i;} 穷举法:将所有的可能性都走一遍,然后判断符合条件的可能性,单独拿出来.基本用法:int count = 0;for (int i = 1; i <= 15; i++) //1分的硬币{ for (int j = 1; j <= 7; j++)//2分的硬币 {

作业:for循环,迭代法和穷举法

                                                for()循环 四要素:初始条件,循环条件,状态改变,循环体. 执行过程:初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面用分号隔开,for的小括号后不要加分号. for的嵌套. 应用:迭代法,穷举法. 一.迭代法:有一定规律. 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备. 第一题:求100以内所有数的和. 第二题:求阶乘!(6的