穷举 迭代

//1、一张150元购物卡,三类洗化用品,洗发水15元,香皂2元,牙刷5元
 //求刚好花完150元,有多少种买法,每种买法各买几样?
 //洗发水 x    香皂 z   牙刷 y
 int count = 0;
 int bian = 0;
 for (int x = 0; x <= 10; x++)
 {
       for (int y = 0; y <= 30; y++)
       {
             for (int z = 0; z <= 75; z++)
             {
                 bian++;
                 if (15 * x + 5 * y + 2 * z == 150)
                 {
                      count++;
                      Console.WriteLine("第" + count + "种买法洗发水" + x + "瓶,香皂" + z + "块,牙刷" + y + "支");
                 }
             }
       }
 }
 Console.WriteLine("一共循环了" + bian + "遍");
 Console.WriteLine("一共有" + count + "种买法");
 Console.ReadLine();
 //公鸡二文钱一只,母鸡一文钱一只,小鸡半文钱一只,现在有100文钱,要买一百只鸡,
 //正好花完100文钱,共有多少种买法,每种各买几只?
 int count = 0;
 int bian = 0;
 for (int gong = 0; gong <= 50; gong++)
 {
     for (int mu = 0; mu <= 100; mu++)
     {
          for (int xiao = 0; xiao <= 200; xiao++)
          {
                bian++;
                if (gong + mu + xiao == 100 && gong * 2 + mu * 1 + xiao * 0.5 == 100)
                {
                     count++;
                     Console.WriteLine("第" + count + "种买法公鸡" + gong + "只,母鸡" + mu + "只,小鸡" + xiao + "只");
                }
          }
     }
 }
 Console.WriteLine("一共循环了" + bian + "遍");
 Console.WriteLine("共有" + count + "种买法");
 Console.ReadLine();
//for循环变形得到while循环
//初始条件拿到前面,循环的状态改变放到循环体的最后一句
//for变成while,将原先的分号去掉,只留下循环条件
//数字1~10,累加求和
int sum = 0;
int i = 1;
while (i <= 10)
{
     sum += i;
     i++;
}
Console.WriteLine(sum);
//公鸡二文钱一只,母鸡一文钱一只,小鸡半文钱一只,现在有100文钱,要买一百只鸡,
//正好花完100文钱,共有多少种买法,每种各买几只? 用while循环
int count = 0;
int bian = 0;
int gong = 0;
while (gong <= 50)
{
    int mu = 0;
    while (mu <= 100)
    {
         int xiao = 0;
         while (xiao <= 200)
         {
             bian++;
             if (gong + mu + xiao == 100 && gong * 2 + mu * 1 + xiao * 0.5 == 100)
             {
                  count++;
                  Console.WriteLine("第" + count + "种买法公鸡" + gong + "只,母鸡" + mu + "只,小鸡" + xiao + "只");
             }
             xiao++;
         }
          mu++;
    }
    gong++;
}
Console.WriteLine("共有" + count + "种买法");
Console.WriteLine("共循环了" + bian + "遍");
Console.ReadLine();
//迭代
//纸张厚度0.07毫米
//折叠多少次可以超过珠峰高度8848米
double a = 0;
double i = 0.07;
while (i <= 8848000)
{
    a++;
    i *= 2;
}
Console.WriteLine(a);
//大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?
int count = 0;
int bian = 0;
for (int dm = 0; dm <= 50; dm++)
{
     for (int zm = 0; zm <= 100; zm++)
     {
          for (int xm = 0; xm <= 200; xm++)
          {
               bian++;
               if (dm + zm + xm == 100 && dm * 2 + zm * 1 + xm * 0.5 == 100)
               {
                     count++;
                     Console.WriteLine("第" + count + "种方法大马" + dm + "匹,中等马" + zm + "匹,小马" + xm + "匹");
               }
          }
     }
}
Console.WriteLine("一共循环了" + bian + "遍");
Console.WriteLine("一共有" + count + "种方法");
Console.ReadLine();
//有1分钱,2分钱,5分钱的硬币,要组合出来2角钱,有几种组合方式,分别各多少个?
int count = 0;
int bian = 0;
for (int yf = 0; yf <= 20; yf++)
{
     for (int ef = 0; ef <= 10; ef++)
     {
          for (int wf = 0; wf <= 4; wf++)
          {
               bian++;
               if (yf * 1 + ef * 2 + wf * 5 == 20)
               {
                   count++;
                   Console.WriteLine("第" + count + "种组合方式1分硬币" + yf + "个,2分硬币" + ef + "个,5分硬币" + wf + "个");
               }
          }
     }
}
Console.WriteLine("共有" + count + "种组合方式");
Console.WriteLine("共循环了" + bian + "遍");
Console.ReadLine();
//输入一个100以内的整数,求从1加到这个数的和,如果输入的数不在0到100之间,提示请重新输入
for (; ; )
{
    Console.Write("请输入一个100以内整数:");
    int a = int.Parse(Console.ReadLine());
    int sum = 0;
    if (a >= 0 && a <= 100)
    {
        for (int i = 0; i <= a; i++)
        {
             sum += i;
        }
        Console.WriteLine(sum);
        break;
    }
    else
    {
        Console.WriteLine("您的输入有误,请重新输入");
    }
}
Console.ReadLine();
 

  

 



 
时间: 2024-10-08 20:51:02

穷举 迭代的相关文章

穷举迭代03/10

穷举迭代03/10 for循环拥有两类: 1.穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. for循环拥有两类: 2.穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. for循环  for(int i = 1; i<=5;i++) { 循环体: } while样式      int i= 1: while(表达式(i<=5)) { 循环体: 状态改变(i++): } do while 样式    do { 循环体: 状态改变(i++); }whi

for 穷举 迭代

for循环拥有两类:穷举:把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 迭代:从初始情况按照规律不断求解中间情况,最终推导出结果. 案例: //单位给发了一张150元购物卡, //拿着到超市买三类洗化用品. //洗发水15元,香皂2元,牙刷5元. //求刚好花完150元,有多少种买法, //每种买法都是各买几样? //设洗发水x 150/15==10 //牙刷y 150/5==30 //香皂z 150/2==75 int sum = 0; int biao = 0; for (

穷举 迭代 while

for循环拥有两类: 穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 例:1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元.求刚好花完150元,有多少种买法,没种买法都是各买几样? //洗发水 x  10         //牙刷    y  30         //香皂    z  75            int ci = 0;            int biao = 0;            for (int x

循环语句while与for的穷举迭代

循环语句while while当...的时候 int n=1; while(n<6)//在括号内直接限制逻辑关系 {//需要在大括号内给出改变方式,否则将进入死循环 console.WriteLine("打印结果"); n++;//在大括号内给与值得改变方式 } int m=1; while(true) { Console.WriteLine("打印结果"+m); m++; if(m==6) { break;//跳出语句,跳出循环 //continue--跳过

7.24 学习笔记 for循环的嵌套,for循环的穷举迭代

for循环的嵌套            输入一个正整数,求阶乘的和 嵌套            Console.Write("请输入一个正整数:");            int a = int.Parse(Console.ReadLine());            int sum = 0;            for (int i = 1; i <= a; i++)            {              int jie = 1;             

2016年10月10日--穷举、迭代、while循环

穷举 将所有可能性全部全部走一遍,使用IF筛选出满足的情况 练习: 1.单位给发了一张150元购物卡, 拿着到超市买三类洗化用品. 洗发水15元,香皂2元,牙刷5元. 求刚好花完150元,有多少种买法, 没种买法都是各买几样? int i = 0; int j = 0; for (int x = 0; x <= 10; x++) { for (int y = 0; y <= 30; y++) { for (int z = 0; z <= 75; z++) { j++; if (x * 1

for循坏的穷举与迭代,while、do while循环

for循环 穷举:所有情况走一遍,使用if筛选出符合的情况. 1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元.求刚好花完150元,有多少种买法,没种买法都是各买几样? int d=0; int e = 0; for (int a = 1; a <= 10;a++ ) { for (int b = 1; b <= 30;b++ ) { for (int c = 1; c <= 75;c++ ) { if(a*15+b*5+c*2==150) {

while do while以及穷举和迭代

今天的新内容1:while循环 格式: while() { } 初始状态要在循环外提前规定 状态改变要写在花括号里面 括号内是循环条件 for循环与while循环的对比: 2:do while 不管循环条件是否满足 先执行一遍循环体 格式为: do { }while() 如上图 条件不满足 但仍然输出了一遍WORLD 3:穷举 经典题目百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱? 使用while循环实现: 4:迭代

穷举和迭代

通过循环可以解决两类问题:穷举:在不知道什么情况下才真的是我们需要的结果的时候,只能够让它一个一个的情况都给走一遍举例:公司给发了150元的购物卡,刚好想去超市购买洗发水(15元).牙刷(5元).香皂(2).只买着三个种类的商品,要求全部花完150元,有多少种买法,每种买法都是各买几样?<br /> <script>var zong =0;var sum=0;for(var x= 0;x<=10;x++){ for(var y =0;y<=30;y++) { for(v