for穷举法、迭代法

穷举法练习:

  1. //穷举法:
  2. //1、找100以内的与7有关的数
  3. //2、小明单位发了一百元的购物卡,他到超市买洗化用品,一是洗发水(15元),二是香皂(2元),三是牙刷(5元)怎么可以正好把一百元花完。
  4. //3、公鸡两文钱一只,母鸡一文钱一只,小鸡半文钱一只,花100文钱买100只鸡,该如何购买?
  5. //4、大马驮2石粮食,中马驮1石粮食,两头小马驮一旦粮食,要用100匹马,驮100石粮食,该如何调配
  6. //5、有一分钱、两分钱、五分钱硬币,要组合出两角有哪些组合方法。
  7. //6、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
  8. //A和B两人中至少去一人; a+b>=1
  9. //A和D不能一起去; a+d<=1
  10. //A、E和F三人中要派两人去; a+e+f==2
  11. //B和C都去或都不去; 注释: b+c!=1
  12. //C和D两人中去一个; c+d==1
  13. //若D不去,则E也不去。 d+e==0||d==1
  14. //问应当让哪几个人去?
  15. //7、123()45()67()8()9=100;要求在()里面填写+或-使等式成立。
  16.  
  17. //2、小明单位发了一百元的购物卡,他到超市买洗化用品,一是洗发水(15元),二是香皂(2元),三是牙刷(5元)怎么可以正好把一百元花完。
  18.  
  19. for (int i = ; i <= ; i++)//i:单独买洗发水最多可以买6
  20. {
  21. for (int j = ; j <= ; j++)//j:香皂单独买最多50
  22. {
  23. for (int n = ; n <= ; n++)//n:牙刷单独买最多20
  24. {
  25. if ( * i + * j + * n == )//判断什么情况可以把一百元花光
  26. {
  27. Console.WriteLine("{0}瓶洗发水和{1}块香皂和{2}个牙刷一共一百元", j, j, n);
  28. }
  29. }
  30. }
  31. }
  32.  
  33. //3、公鸡两文钱一只,母鸡一文钱一只,小鸡半文钱一只,花100文钱买100只鸡,该如何购买?
  34.  
  35. for (int i = ; i < ; i++)//i:公鸡两文钱一只
  36. {
  37. for (int j = ; j < ; j++)
  38. {
  39. for (int n = ; n < ; n++)
  40. {
  41.  
  42. if ( * i + j + 0.5 * n == && i + j + n == )
  43. {
  44. Console.WriteLine("满足条件需要公鸡{0}只,母鸡{1},小鸡{2}。", i, j, n);
  45. }
  46.  
  47. }
  48. }
  49. }
  50.  
  51. //4、大马驮2石粮食,中马驮1石粮食,两头小马驮一旦粮食,要用100匹马,驮100石粮食,该如何调配
  52.  
  53. for (int i = ; i <= ; i++)
  54. {
  55. for (int j = ; j <= ; j++)
  56. {
  57. for (int n = ; n <= ; n++)
  58. {
  59. if ( * i + j + 0.5 * n == && i + j + n == )
  60. {
  61. Console.WriteLine("满足条件需要大马{0}只,中马{1},小马{2}。", i, j, n);
  62. }
  63. }
  64. }
  65. }
  66.  
  67. //某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
  68. //A和B两人中至少去一人; a+b>=1
  69. //A和D不能一起去; a+d<=1
  70. //A、E和F三人中要派两人去; a+e+f==2
  71. //B和C都去或都不去; 注释: b+c!=1
  72. //C和D两人中去一个; c+d==1
  73. //若D不去,则E也不去。 d+e==0||d==1
  74. //问应当让哪几个人去?
  75.  
  76. for (int a = ; a <= ; a++)
  77. {
  78. for (int b = ; b <= ; b++)
  79. {
  80. for (int c = ; c <= ; c++)
  81. {
  82. for (int d = ; d <= ; d++)
  83. {
  84. for (int e = ; e <= ; e++)
  85. {
  86. for (int f = ; f <= ; f++)
  87. {
  88. if (a + b >= && a + d <= && a + e + f == && b + c != && c + d <= && (d + e == || d == ))
  89. {
  90. Console.WriteLine("A:{0}\nB:{1}\nC:{2}\nD:{3}\nE:{4}\nF:{5}", a, b, c, d, e, f);
  91. }
  92. }
  93. }
  94. }
  95. }
  96. }
  97. }
  98.  
  99. //7、123()45()67()8()9=100;要求在()里面填写+或-使等式成立。
  100.  
  101. //string a, b;
  102. //a = "+";
  103. //b = "-";
  104.  
  105. for (int i = -; i <= ; i += )// 初始值-1 判断条件限定i只能是-1 或者+1 i+=2 ==> i=i+2
  106. {
  107. for (int j = -; j <= ; j += )
  108. {
  109. for (int n = -; n <= ; n += )
  110. {
  111. for (int m = -; m <= ; m += )
  112. {
  113. if ( + i * + j * + n * + m * == )
  114. {
  115. //if (i==1||i == -1||j==1||j == -1||n==1||n == -1||n==1||m == -1)
  116. //{
  117.  
  118. //}
  119. Console.WriteLine("123+({0}*45)+({1}*67)+({2}*8)+({3}*9)=100", i, j, n, m);
  120. }
  121. }
  122. }
  123. }
  124. }

迭代法练习:

  1. //求阶乘(6的阶乘)
  2. int jc = ;
  3. for (int i = ; i >= ; i--)
  4. {
  5. jc = i * jc;
  6.  
  7. }
  8. Console.WriteLine("6的阶乘是:" + jc);
  9.  
  10. //或者
  11. int jc = ;
  12. for (int i = ; i < ; i++)
  13. {
  14. jc = jc * i;
  15. }
  16. Console.WriteLine(jc);
  17.  
  18. //求年龄。(有6个小孩子排在一起,问第一个多大年龄,她说:比第二个小2岁,问第二个多大年龄,她说:比第三个小2岁,以此类推,问第六个多大年龄,她说:自己16岁,问第一个小孩子几岁?)
  19.  
  20. int age = ;
  21. for (int i = ; i >= ; i--)//i为第二个小孩岁数
  22. {
  23. age -= ;
  24. }
  25. Console.WriteLine("第一个小孩的年龄是:" + age + "岁");
  26.  
  27. //一张纸的厚度是:0.15mm,假设这张纸足够大可以无限次对折,问:折26次的高度是多少?
  28. double a = 0.00015;
  29. for (int i = ; i <= ; i++)
  30. {
  31. a *= ;
  32. }
  33. Console.WriteLine("当纸折叠26次时,厚度为:" + a + "米");
  34.  
  35. //假设一张纸厚度....珠峰高度:8848
  36.  
  37. decimal h = 0.00007m;
  38. for (int i = ; i < ; i++)
  39. {
  40. h *= ;//h=h*2
  41. if (h > 8848m)
  42. {
  43. Console.WriteLine("对折次数:" + i);
  44. break;
  45. }
  46. }
  47.  
  48. //另一种方式:
  49. int n = ;
  50. for (double i = 0.00007; i <= ; i = i * )
  51. {
  52. n++;
  53. }
  54. Console.WriteLine(n);
  55.  
  56. //棋盘放粮食(请在第一个格子放1粒粮食,第二个格子放2粒,第三个格子放四粒,以此类推,
  57. //每个格子放的粮食都是前一个格子里粮食的2倍,直到放到第64个格子,请问第64个格子需要多少粮食?
  58. //假如1粒粮食重量0.02克,那么棋盘64个格子的粮食一共重多少千克?
  59.  
  60. decimal sum = , num = ;
  61.  
  62. for (int i = ; i <= ; i++)
  63. {
  64. num = num * ;
  65. sum = num + i;
  66. }
  67.  
  68. Console.WriteLine("第64个格子需要粮食:{0}", sum);
  69. decimal w = (decimal)0.00002;
  70. decimal sw = w * sum;
  71. Console.WriteLine("棋盘所有64个格子 上面粮食总重:{0}", sw);
  72.  
  73. //公园里有一只猴子和一堆桃子,猴子每天吃掉桃子数量的一半,
  74. //把剩下的一半数量中扔掉一个坏的,到了第七天,
  75. //猴子睁开眼发现只剩下一个桃子了,问公园原来有多少桃子?
  76.  
  77. int count = ;
  78. for (int i = ; i >= ; i--)
  79. {
  80. count = (count + ) * ;
  81. }
  82.  
  83. Console.WriteLine("原来桃子数:{0}", count);

迭代法练习

C#编程—第五天--循环语句for的更多相关文章

  1. 【shell】shell编程(四)-循环语句

    上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...

  2. Shell编程-08-Shell中的循环语句

    目录 while语句 until语句 for语句 select语句 循环中断控制 循环语句总结     循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行.在Shell中常见的 ...

  3. Java编程基础-选择和循环语句

    一.选择结构语句 选择结构:也被称为分支结构.选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码. Java语言提供了两种选择 ...

  4. shell编程基础(二): shell脚本语法之分支语句和循环语句

    一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...

  5. python编程:从入门到实践----第五章>if 语句

    一.一个简单示例 假设有一个汽车列表,并想将其每辆汽车的名称打印出来.遇到汽车名‘bmw’,以全大写打印:其他汽车名,首字母大写 cars=['audi','bmw','subaru','toyota ...

  6. bash编程之多分支if 语句及for循环

    第十七章.bash编程之多分支if 语句及for循环 if语句三种格式 多分支if语句练习 for循环 17.1.if语句的三种格式 单分支if语句 if condition;then 条件为真执行的 ...

  7. SQL基本编程,分支语句,循环语句,存储过程,触发器

    基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...

  8. Python编程基础[条件语句if 循环语句 for,while](二)

    ython条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 判断条件: 执行语句……else: 执行语句…… x= ...

  9. “全栈2019”Java第二十五章:流程控制语句中循环语句while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. python2和python3的编码encode解码decode函数

    python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8:  常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...

  2. python 图像处理中二值化方法归纳总结

    python图像处理二值化方法 1. opencv 简单阈值 cv2.threshold 2. opencv 自适应阈值 cv2.adaptiveThreshold 3. Otsu's 二值化 例子: ...

  3. 在windows的文件添加右键"命令提示符"菜单

    1\把以下内容保存为reg文件,然后导入 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\she ...

  4. kd树解平面最近点对

    早上起来头有点疼,突然就想到能不能用kd树解平面最近点对问题,就找了道题试了一下,结果可以,虽然效率不高,但还是AC了~ 题目链接:http://acm.hdu.edu.cn/showproblem. ...

  5. nyoj 253:LK的旅行 【旋转卡壳入门】

    题目链接 求平面最大点对. 找凸包 -> 根据凸包运用旋转卡壳算法求最大点对(套用kuang巨模板) 关于旋转卡壳算法 #include<bits/stdc++.h> using n ...

  6. Vue学习笔记-插槽基本使用

    为了让我们的组件更加具有扩展性,可以使用插槽 <div id="app"> <cpn> <span>返回</span> <in ...

  7. 一次服务器CPU占用100%的问题排查

    今天写了一段垃圾代码,然后上服务器上运行,cpu瞬间飙到了100%,现记录一下问题排除过程~ 1. 问题代码 package qinfeng.zheng.mockmvcdemo; import org ...

  8. 对于vue绑定的model值里边get和set的小动作

    先看下例子: template里边内容: <el-form-item label="导航条类型"> <el-radio-group v-model="n ...

  9. centos7.4 搭建lnmp

    系统:阿里云 centos7.4 Php:PHP 7.1.13 (cli) Mysql:mysql5.7 Nginx:nginx/1.12.2 一.更新centos7 yum源 cp /etc/yum ...

  10. jmeter添加自定义扩展函数之小写转换大写

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...