for循环案例
for循环案例
今天给大家介绍点for循环的案例
1.大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var c=0;
for(var x=0;x<=50;x++){//大马,因为大马驮2石粮食所以说最多一共能有50匹大马
for(var y=0;y<=100;y++){//中马,因为中马驮1石粮食所以最多能有100匹中马
for(var z=0;z<=100;z++){//小马,因为最多能100匹马,所以小马不能超过100匹
if((x*2+y+z/2==100) && (x+y+z==100)){//条件1:三种马一共驮100石粮食;条件2:三种马一共要用100匹马
c++;//一共有多少种方法
document.write('大马有'+x+'匹,中马有'+y+'匹,小马有'+z+'匹<br />')
}
}
}
}
document.write('<b>一共有'+c+'种方法</b>');
</script>
</body>
</html>
2.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
●A和B两人中至少去一人;
●A和D不能一起去;
●A、E和F三人中要派两人去;
●B和C都去或都不去;
●C和D两人中去一个;
●若D不去,则E也不去。
问应当让哪几个人去?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
for(var a=0;a<=1;a++){
for(var b=0;b<=1;b++){
for(var c=0;c<=1;c++){
for(var d=0;d<=1;d++){
for(var e=0;e<=1;e++){
for(var f=0;f<=1;f++){//abcdef6个人假设都去,若为0则不去,1为去。
if ((a+b>=1) && (a+d<=1) && (a+e+f==2) && (b==c) && (c+d==1) && (d+e==0 || d==1 )) {
document.write(a,b,c,d,e,f);//输出所有人,去的为1,不去的为0;
}
}
}
}
}
}
}
</script>
</body>
</html>
3.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>解析:反推,最后一天有1个,所以说第6天有 (1+1)*2 个桃子,所以说第n天有 (x+1)*2 个桃子。</p>
<script>
var x=1;
for(var i=1;i<=6;i++){//因为我们知道第7天的桃子所以说从第6天开始反推,
x=(x+1)*2;
}
document.write('<b>公园里刚开始有'+x+'个桃子</b>');
</script>
</body>
</html>
4. 1~100奇数的和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>解析:想做好这道题必须得知道两相邻奇数之间的差是多少</p>
<script>
var sum_j = 0
for (var i=1;i<=100;i+=2){//i=i+2
sum_j +=i;//sum_j=sum_j+i
}
document.write(sum_j+' 为1~100之间奇数的和');
</script>
</body>
</html>
5. 1~100偶数的和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>解析:同上一题一样,如果理解了上一题那么这一题就简单了。</p>
<script>
<script>
var sum_o =0
for (var i=2;i<=100;i+=2){
sum_o +=i;
}
document.write(sum_o+' 为1~100之间偶数的和')
</script>
</body>
</html>
6. 9*9乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;}
</style>
</head>
<body>
<p>超简单就不在这里解释了</p>
<script>
document.write('<table>');
for(var i=9;i>=1;i--){
document.write('<tr>');
for(var j=1;j<=i;j++){
document.write('<td>'+i+'x'+j+'='+i*j+'</td>')
}
document.write('</tr>');
}
document.write('</table>');
</script>
</body>
</html>
7.通过for循环实现百钱买百鸡的题:公鸡5元每只,母鸡3元每只,小鸡3只1元,100元买100只鸡有多少种方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;}
</style>
</head>
<body>
<script>
var a=0;
for(var x=0;x<=20;x++){//公鸡,公鸡5元每只,所以说最多能买20只
for(var y=0;y<=33;y++){//母鸡,母鸡3元每只,所以最多能买33只
for(var z=0;z<=100;z++){//小鸡,一共最多可以买100只鸡
if ((x+y+z==100)&&(5*x+3*y+z/3==100)) {//条件1:三种鸡一共不能超过100只;条件2:三种鸡一共要花100元钱
document.write('公鸡有'+x+'只'+'母鸡有'+y+'只'+'小鸡有'+z+'只'+'<br />');
a++
}
}
}
}
document.write('一共有'+a+'种方法');
</script>
</body>
</html>
8.水仙花数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>>
</head>
<body>
<p>解析:想要解答这道题必须得知道什么叫水仙花数。即:abc是一个三位数(100<=xyz<=999),xyz=x^3+y^3+z^3</p>
<p>注:水仙花数只有3位数,4位数的叫"四叶玫瑰数"</p>
<script>
//因为是3位数所以第1位不能为0;
for(var x=1;x<=9;x++){
for(var y=0;y<=9;y++){
for(var z=0;z<=9;z++){
if (x*x*x+y*y*y+z*z*z==x*100+y*10+z){
document.write(x+'^3+'+y+'^3+'+z+'^3+'+'='+x+y+z+'<br />');
}
}
}
}
</script>
</body>
</html>
9.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>解析:乍一看是不是有点难呢?别着急咱们一步一步的来</p>
<script>
var a=1,b=0,c=0,sum=0;//先定义三种兔 a为幼兔,b为小兔,c为成兔。sum为所有兔子的对数总和。
for(i=1;i<=10;i++){//从第一个月开始我们已经有了1对兔子了所以 i=1 ;
if(i==1){//因为第一个月的兔子还没有成长并且没有规律可寻,所以我们直接写出来
a=1;
b=0;
c=0;
sum=1;
}else{
c=b+c;//本月的成兔=上月的成兔+上月的小兔
b=a;//本月小兔=上月幼兔
a=c;//本月幼兔=本月成兔
sum=a+b+c;
//顺序不能变,因为成兔是没有和本月的兔子挂钩的所以要写第一个以免产生覆盖;因为本月的小兔和上月的幼兔有挂钩,而本月的幼兔和本月的成兔有挂勾所以所 b=a 要写在 a=c 之前
}
document.write('幼兔有:'+a+'对,小兔有:'+b+'对,成兔有:'+c+'对,共有兔子:'+sum+'对<br />');
}
document.write('所以说10个月后有'+sum+'对兔子<br />');
</script>
</body>
</html>
10.凑钱1,2,5凑20元钱有多少种可能?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var n=0;
for(var x=0;x<=20;x++){//x为1元所以x最多不能超过20张
for(var y=0;y<=10;y++){//y为2元,所以y最多不能超过10张
for(var z=0;z<=4;z++){//因为z为5元所以z最多不能超过4张
if (x+y*2+z*5==20){//条件:三种钞票的和等于20
document.write('1元有'+x+'张 '+'2元有'+y+'张 '+'5元有'+z+'张'+'<br />');
n++
}
}
}
}
document.write('共有'+n+'种方法');
</script>
</body>
</html>
11.绘制
(1 ●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
for(var i=1;i<=7;i++){//一共有7行所以循环7次
for(var j=1;j<=8;j++){//有8列所以循环8次
document.write("●");
}
document.write("<br />");
}
</script>
</body>
</html>
(2 ●
●●
●●●
●●●●
●●●●●
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
for(var i=1;i<=5;i++){//一共有5行
for(var j=1;j<=i;j++){//行数和列数相同所以 j<=i
document.write('●');
}
document.write('<br />');
}
</script>
</body>
</html>
(3●●●●●
●●●●
●●●
●●
●
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
for(var i=5;i>=1;i--){//有5行所以i=5;为啥要做 i-- 运算呢?咱们把最后一行当做第一行来看是不是每1行的值都是相同的呢?
for(var j=1;j<=i;j++){
document.write('●');
}
document.write('<br />');
}
</script>
</body>
</html>
(4□□□□●
□□□●●
□□●●●
□●●●●
●●●●●
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>解析:这道题和第一道题相似,做类似的题型时,我们先绘制出全部都是为 □ 的来</p>
<script>
for(var i=1;i<=5;i++){//行数
for(var j=5;j>=1;j--){//列数
if(i<j){//通过观察我们可以知道行数和 ● 是相同的所以 i<j
document.write('□');
}else{
document.write('●');
}
}
document.write('<br />');
}
</script>
</body>
</html>
12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,能有多少种方法?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>这道题上面有类似的题,请看上面的题,如果还是不懂请评论区问我!!</p>
<script>
var e=0;
for(var a=0;a<=6;a++){
for(var b=0;b<=20;b++){
for(var c=0;c<=50;c++){
if(a*15+b*5+c*2==100){
document.write('小明买了洗发水'+a+'个,香皂'+c+'个,牙刷'+b+'个<br />');
e++;
}
}
}
}
document.write('共有'+e+'种方法');
</script>
</body>
</html>
13.五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var b=3;//已经知道最后一个孩子3岁了,通过上边的案例还不知道第一个孩子多大吗?
for(var a=1;a<=4;a++){
b=b+2;
}
document.write('第一个小朋友'+b+'岁');
</script>
</body>
</html>
14.百以内求和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var b=0;
for(var a=1;a<=100;a++){//循环百次,循环出来的是1~100这不是和就求出来么。要是还不懂,上边不是讲了100以内的奇数偶数求和吗?两个加起来不也是100以内求和吗?
b=b+a;
}
document.write(b);
</script>
</body>
</html>
大家看了这么多是不是发现了好多题型都是一样的呢?所以说我们不要小看每一道题,每一道都理解了。只要这种类型的会了一道题是不是这种类型的所有的都会了呢?
for循环案例的更多相关文章
- c语言运算符优先级与while循环案例
sizeof可以获取数据类型的内存中的大小(字节) #include <stdio.h> #include <stdlib.h> // standared 标准 // inpu ...
- js中的for循环案例
打印99乘法表 for(var x=1; x<=9; x++) { for(var y=1; y<=x; y++) { document.write(y+"*&q ...
- python while循环案例
1.while循环语句基本结构? while condition: loop body 2.利用while语句写出猜大小的游戏: 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的 ...
- while循环案例
class While05{ public static void main(String[ ]args){ //练习1:使用while循环完成输出1------10中的每个数 /*int i =1; ...
- c语言循环案例
do while #include <stdio.h> #include <stdlib.h> int main() { int a = 1,b = 10; do { b -= ...
- For循环案例练习一基础版
输出1-10之间的数据 1 public class LX1 { 2 public static void main(String[] args) { 3 for (int x=1;x<=10; ...
- For循环案例---九九乘法表
概述:先创建一个Print99类,类中创建5个方法,分别为Test9901.Test9902.Test9903.Test9904.Test9905,分别打印出不同形状的九九乘法表,该类创建完成后再创建 ...
- Javascript-for循环案例-打印1-100之间所有的数字
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 写多个物件css3循环动画案例原理
div { background-color: #67CF22; height: 100%; width: 6px; display: inline-block; -webkit-animation: ...
随机推荐
- java Collections.sort()
sort()是Collections中的静态方法,用于对List容器中的元素排序. 如容器list中存储的是Integer对象 List<Integer> list =Arrays.asL ...
- Python 变量比较
类型一定转换成一样,比如 float 与 int 比较都会出错,坑了我一个小时
- ubuntu-docker入门到放弃(五)docker网络管理
查看docker宿主机的网卡信息我们会发现,有一个docker0的网卡,这个网卡就是用于跟docker容器进行通讯的,这个网段跟我们docker容器的网段是一样的: #ifconfig docker容 ...
- XBOX360
[汇总+分享]XBOX360多人游戏汇总贴https://tieba.baidu.com/p/3550398060?pn=13&red_tag=3423139816&traceid= ...
- java锁在等待唤醒机制中作用
等待的线程放在线程池wait().notify().notifyall()都使用在同步中,因为要对持有监视器(锁)的线程操作.所以要使用在同步中,因为只有同步才具有锁. 为什么这些操作的线程的方法要定 ...
- Django--bug--__init__() got an unexpected keyword argument 'qnique'
建立模型之后,执行迁移,报如下错误: __init__() got an unexpected keyword argument 'qnique' 错误原因:模型的属性的约束添加错误,这种错误一般就是 ...
- SpringCloud之实现客户端的负载均衡Ribbon(二)
一 Ribbon简介 Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为.为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务 ...
- Selenium操作示例——鼠标悬停显示二级菜单,再点击二级菜单或下拉列表
这两天在玩python中selenium,遇到一个问题,就是鼠标移动到页面中某按钮或菜单,自动弹出二级菜单或下拉菜单,再自动点击其中的二级菜单或下拉列表. 首先,手工操作:打开母校的主页 http:/ ...
- 基于vue.js实现远程请求json的select控件
基本思路 前端把需要的参数类型编码传到后台,后台返回相应的参数列表json,前端利用vue渲染select控件 具体实现 前端代码 <select v-model="template. ...
- 蓝桥杯-四阶幻方(DFS)
标题:四阶幻方 把1~16的数字填入4x4的方格中,使得行.列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方. 四阶幻方可能有很多方案.如果固定左上角为1,请计算一共有多少种方案. 比如: ...