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

时间:2023-11-26 18:33:44

穷举

  将所有可能性全部全部走一遍,使用IF筛选出满足的情况

练习:

1.单位给发了一张150元购物卡,
拿着到超市买三类洗化用品。
洗发水15元,香皂2元,牙刷5元。
求刚好花完150元,有多少种买法,
没种买法都是各买几样?

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

;
                ;
                ; x <= ; x++)
                {
                    ; y <= ; y++)
                    {
                        ; z <= ; z++)
                        {
                            j++;
                             + y *  + z *  == )
                            {
                                i++;
                                Console.WriteLine("方法{0},买洗发水【{1}】、牙刷【{2}】,香皂【{3}】", i, x, y, z);
                            }
                        }
                    }
                }
                Console.WriteLine("一共有{0}种买法方法", i);
                Console.WriteLine("共走{0}遍", j);

答案

2.百鸡百钱:
公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,
总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?

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

                ;
                ;
                ; x *  <= ; x++)
                {
                    ; y <= ; y++)
                    {
                        ; z * ; z++)
                        {
                            j++;
                            ) + y + (z *  && x + z + y == )
                            {
                                i++;
                                Console.WriteLine("方法{0},买公鸡【{1}】、母鸡【{2}】,小鸡【{3}】  一共【{4}】只", i, x, y, z, x + z + y);
                            }
                        }
                    }
                }
                Console.WriteLine("一共有{0}种买法方法", i);
                Console.WriteLine("共走{0}遍", j);

答案

迭代

  从初始情况按照规律不断求解中间情况,最终推导出结果。

练习:

1.折纸超过珠峰 8848

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

                double zhi = 0.070;
                ;
                for (; ; )
                {
                    ci++;
                    zhi *= ;
                    Console.WriteLine(+"M");
                    )
                    {
                        break;
                    }
                }
                Console.WriteLine("共折{0}遍", ci);

答案

2.第一天1分钱,第二天2分钱,第三天4分钱,依次递增

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

                ;
                ;
                ; z <= ; z++)
                {
                    )
                    {
                        qian = ;
                    }
                    else
                    {
                        qian *= ;
                        sum += qian;
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();

答案

while循环
  格式1:先判断,在做  while(表达式){}
  格式2:,在判断  do{}while(表达式);

                //for (int i = 1; i <= 5;i++ ){ }

                //int i = 1;
                //for (; i <= 5;i++ ){ }

                //int i = 1;
                //for (; i <= 5; ){ i++; }

                //int i = 1;
                //while(i <= 5){ i++; }

for 变 while

由上可知,for循环也可以变为 while循环;