• for循环的嵌套,for循环的穷举迭代


    for循环的嵌套
                输入一个正整数,求阶乘的和 

    嵌套
                Console.Write("请输入一个正整数:");
                int a = int.Parse(Console.ReadLine());
                int sum = 0;
                for (int i = 1; i <= a; i++)
                {
                  int jie = 1;
                  for (int j = 1; j <= i; j++)
                   {
                jie *= j;
                    }
                   sum += jie;
                }
                Console.WriteLine("结果是:" + sum);
                Console.ReadLine();
                      99口诀表
                for (int i = 1; i <= 9; i++)
                {
                    for (int j = 1; j <= i; j++)
                    {
                        Console.Write("{0}*{1}={2} ",j,i,(j*i));
                   }
                    Console.Write(" ");
                }

               Console.ReadLine();

                直角在右下角的三角形
                for (int i = 1; i <= 5; i++)
                {
                   for (int j = 1; j <= 5 - i; j++)
                    {
                        Console.Write("  ");
                   }
                    for (int j = 1; j <= i; j++)
                    {
                        Console.Write("□");
                   }
                   Console.WriteLine();
                }

                Console.ReadLine();

          

    循环可以解决的问题类型
                穷举,把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况。

                单位给发了一张150元购物卡,
                拿着到超市买三类洗化用品。
                洗发水15元,香皂2元,牙刷5元。
               求刚好花完150元,有多少种买法,
                每种买法都是各买几样?
                洗发水 x  10
                牙刷    y  30
                香皂    z  75
                int ci = 0;
                int biao = 0;
                for (int x = 0; x <= 10; x++)
                {
                    for (int y = 0; y <= 30; y++)
                    {
                        for (int z = 0; z <= 75; z++)
                        {
                            ci++;
                            if (15 * x + y * 5 + z * 2 == 150)
                            {
                                biao++;
                                Console.WriteLine("第{0}种买法:洗发水{1}瓶,牙刷{2}支,香皂{3}块。", biao, x, y, z);
                            }
                        }
                    }
                }
                Console.WriteLine("总共有{0}种买法。", biao);
                Console.WriteLine(ci);
                Console.ReadLine();

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

    纸张可以无限次对折,纸张厚度为0.07毫米。
                问多少次对折至少可以超过8848?
                double height = 0.07;//8848m=8848000
                int ci = 0;
                while(height<=8848000)
                {
                  ci++;
                  height *= 2;//height=height*2;
                }
                Console.WriteLine(ci);
                Console.ReadLine();

  • 相关阅读:
    7月23日 R进行层次聚类算法的继续完善
    明天学习的内容
    MySql快速导出为excel文件
    数据挖掘的隐私边界 【转自《中欧商业评论》】
    【转】Data truncation: Truncated incorrect DOUBLE value:Mysql Update时
    7月20日下一步工作
    R对term进行kmeans聚类完整实例(tm包)
    数学之美 系列一 统计语言模型
    7月30日总结
    MathType输入Support 自动分开的问题
  • 原文地址:https://www.cnblogs.com/fuze/p/5700910.html
Copyright © 2020-2023  润新知