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

一、迭代法:(有一定规律)

每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备。

例:
1.100以内所有数的和。

int sum = 0;
for (int i = 1; i <= 100;i++)
{

sum = sum + i;
}
Console.WriteLine(sum);
2.求阶乘。

int jc = 1;
for (int i=1;i<=5 ;i++ )
{
    jc = jc * i;

}
Console.WriteLine(jc);
3.求年龄:有6个小孩子排在一起,第一个比第二个小2岁,第二个比第三个小2岁,第三个比第四个小2岁,第六个16岁。求第一个多少岁?

int age = 16;  //初始情况下,存的是第6个小孩子年龄,每次循环都会减2,分别代表第5,4,3,2,1个小孩子的年龄。
for (int i=5;i>=1 ;i-- )
{
    age = age - 2;
}
Console.WriteLine(age);
4.折纸。

double h = 0.00015;
for (int i=1;i<=10 ;i++ )
{
    h = h * 2;
}
Console.WriteLine(h);
5.棋盘放粮食。

            decimal a = , b = ;
for (int i=;i<= ;i++ )
{
a = a * ;
b = a + i;
}
Console.WriteLine("第64格应该放:"+b+"粒粮食");
decimal weight单=(decimal)0.00002;
decimal weight总 = weight单 * b;
Console.WriteLine("棋盘粮食一共重"+weight总+"kg");

6.猴子吃桃子。

for (int i=6;i>=1 ;i-- )
{
    count = (count + 1) * 2;
}
Console.WriteLine(count);
7.落球问题:一个球从10米高度落下,每次弹起2/3的高度。问第五次弹起后的高度是多少?
8.兔子小兔子的问题。一对新生兔,到三个月开始生一对小兔,以后每个月都会生一对小兔,小兔不断长大也会生小兔。假设兔子不死,每次只能生一对(公母),问第24个月末有多少只兔子?

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

★int 是32的位的,有时计算的数太大会超出范围,运算结果会显示是0,这时换成double计算试试。

二、穷举法:

用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。

1.找100以内的与7有关的数。

for (int a=1;a<=100 ;a++ )
{
if(a%7==0||1%7==0||a/10==7)
{
        Console.WriteLine("100以内与7有关的数是"+a);
}
2.有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式?

            for (int a = ; a <= ; a++)
{
for (int b = ; b <= ; b++)
{
for (int c = ; c <= ; c++)
{
if (a * + b * + c * == )
{
Console.WriteLine("一分钱需要"+a+"个,二分钱需要"+b+"个,5分钱需要"+c+"个");
}
}
}
}

3.买东西。小张过元旦发了100元的购物券,他要买香皂(5元),牙刷(2元),洗发水(20元)。要想把100元正好花完,如何买这三样东西?

            for (int a = ; a <= ;a++ )
{
for (int b = ; b <= ; b++)
{
for (int c = ; c <= ; c++)
{
if (a * + b * + c * == )
{
Console.WriteLine("买"+a+"块肥皂,买"+b+"个牙刷,买"+c+"支牙膏,共花费100元");
}
}
}
}

4.百鸡百钱。有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只。如何买?
百马百石。有100石粮食,母匹大马驮2石,每匹中马驮1石,每两匹小马驹一起驮1石。要用100匹马驮完100石粮食,如何按排?

            for (int gj = ; gj <= ; gj++)
{
for (int mj = ; mj <= ; mj++)
{
for (int xj = ; xj <= ; xj++)
{
if (gj * + mj * + xj * 0.5 == &&gj+mj+xj==)
{
Console.WriteLine("买公鸡"+gj+"只,买母鸡"+mj+"只,买小鸡"+xj+"只");
}
}
}
}

5.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
A和B两人中至少去一人;      a+b>=1
A和D不能一起去;              a+d<=1
A、E和F三人中要派两人去; a+e+f==2
B和C都去或都不去;           b+c!=1
C和D两人中去一个;           c+d==1
若D不去,则E也不去。        d+e==0||d==1
问应当让哪几个人去?

for(int a=;a<=;a++) //0不去,1去。
{
for(int b=;b<=;b++)
{
for(int c=;c<=;c++)
{
for(int d=;d<=;d++)
{
for(int e=;e<=;e++)
{
for(int f=;f<=;f++)
{
if (a + b >= && a + d <= && a + e + f == && b + c != && c + d == && (d + e == || d == ))
{
Console.WriteLine("A="+a+";B="+b+";C="+c+";D="+d+";E="+e+";F="+f);
}
}
}
}
}
}
}

6.123()45()67()8()9=100;要求在()里面填写+或-使等式成立。

            for (int a = -; a <= ; a = a + )//-1代表减号,1代表加号

            {
for(int b=-;b<=;b+=)
{
for(int c=-;c<=;c+=)
{
for(int d=-;d<=;d+=)
{
if(+a*+b*+c*+d* == )
{
Console.WriteLine("a=" + a + ";b=" + b + ";c=" + c + ";d=" + d);
}
}
}
}
}

for循环的应用的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  10. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

随机推荐

  1. 从[Greenplum 6.0] 1分钟安装尝鲜开始

    Greenplum目前6版本目前已经迭代了几个小版本了,随着版本的更新,不断的有bug被修复. 打算试用的朋友可以入手了. 作为开年的第一个工作日的第一个帖子,必须从“开天辟地”的6.0开始.以下内容 ...

  2. Django搭建后篇——启动服务器及创建视图

    开启服务器,Django开启服务器的方式有两种,一种是在Ubuntu在开启,另一种是直接在pycharm开启.就方便而言肯定是第二种,但由于pycharm版本的问题,可能有的人无法直接在pycharm ...

  3. console.log和alert的区别

    alert是同步的,如果不关闭弹出框,js代码就不会继续执行下去,这时候浏览器啥都干不了. console.log不会打断js的执行. 当要输出几十几百条信息的时候还是得用console.log,而且 ...

  4. SQL注入常用函数(注入小白的学习笔记)

    在盲注的情况下,往往需要一个一个字符的去猜解,即过程中需要截取字符串 在这里整理了一下一些常用函数 由于现阶段学习不够深入,整理分类不清楚具体,不过博主会慢慢进行完善 user() 查询当前数据库用户 ...

  5. 蓝桥杯 乘积最大(区间dp、数据水的话long long,暴力就能过)

    Description 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋 ...

  6. 吴裕雄--天生自然 PYTHON3开发学习:CGI编程

    <Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny ...

  7. PAT甲级——1001 A+B Format (20分)

    Calculate a+b and output the sum in standard format – that is, the digits must be separated into gro ...

  8. dao层单元测试报错CONDITIONS EVALUATION REPORT

    0 环境 系统:win10 编辑器:IDEA 1 正文 1.1 起因 在controller层测试 测试url时没问题的 但是我单元测试就报错 1.2 排查 因为controller层 springb ...

  9. ipv6 mac地址转化为linklocal地址

    mac  3c:32:66:67:dd:46 linklocal地址 前六位固定  fe80:: 第七位  mac地址第一个byte进行如下计算 (byte) ((byte) (macbyte &am ...

  10. mysql时区问题解决方案

    #url添加参数serverTimezone=UTC 1.jdbc:mysql://127.0.0.1:3306/mymusic?useUnicode=true&characterEncodi ...