JS-用js的for循环实现九九乘法表以及其他算数题等

 1 <style>
 2     .table{
 3         background-color: #f0f0f0;
 4         border: 1px solid #7FFFD4;
 5     }
 6     table{
 7         width:90%; 
 8         background:#7FFFD4; 
 9     }
10 </style>

for:

1.语法: for(exp1;exp2;exp3){   循环执行函数 }

2.参数: exp1:默认的第一个执行的数值 exp2:决定函数能否循环的限制条件。条件不成立时循环结束 exp3:每次循环时,数值变化情况

1 for(var i=1; i<=10;i++){//i++后缀式,会先执行复合条件时的函数,后加一位。
2     document.write('hello world<br/>');
3     document.write('第'+i+'列、'+'<br/>');
4 }
5 document.write(i);
6 document.write('<hr color="red">');//在js中直接写html标签和属性内容。用字符串引进来

循环输出0-100

1 for(var a=0; a<=100; a++){
2     document.write(a+'<br/>')
3 }
4 document.write('<hr color="red">');

循环输出 100-10

1 for(var b=100; b>=10; b--){
2     document.write(b+'<br/>');
3 }

循环输出1-100之间的~奇数

1 document.write('<hr color="red"/>')
2 for(var c=1; c<=10; c+=2){//每次让c+2,而不是每次加以,奇数公式:n+2,偶数公式:2n
3     document.write(c+'<br/>');
4 }

方法二

1 document.write('<hr color="#00FFFF"/>');
2 for(var e=11; e<=20; e++){
3     if(e%2==1){//e除以二余一。表明是奇数
4         document.write(e+'<br/>');
5     }
6 }
7 document.write('<hr color="red"/>');

重要思想:e%2 == 1【e除以二余一。表明是奇数】

计算~偶数

1 for(var d=2;d<=10;d+=2){//初始值设置为偶数
2     document.write(d+'<br/>');
3 }

方法二

1 document.write('<hr color="#00FFFF"/>')
2 for(var f=11;f<=20;f++){
3     if(f%2==0){//偶数除以二都余零
4         document.write(f+'<br/>');
5     }
6 }
7 document.write('<hr color="chartreuse"/>');

// for(var g=1; g<=10;g++){ //   document.write((g%2==1)+'<br/>'); // }

输出1-100之间数字的~和

1 //    var sum =0;
2 //    for(var i=1;i<=100;i++){
3 //    document.write(sum+=i);
4 //    }错误写法示范,自己想错了,sum应该等于每次加一个i。然后写出sum的和的值
1 var he = 0;
2 for(var h=1;h<=100;h++){
3     he+=h;
4 }
5 document.write('1-100之间的和是'+he);
6 document.write('<hr color="#00FFFF"/>');

求1-100之间奇数的和

1 var jsum=0;
2 for(var j=1;j<=100;j+=2){
3     jsum+=j;
4 }
5 document.write('奇数的和='+jsum);
6 document.write('<hr color="#00FFFF"/>');

求1-100之间偶数的和

1 var osum=0;
2 for(var k=1;k<=100;k++){
3     if(k%2==0){
4         osum+=k;
5     }
6 }
7 document.write('偶数的和='+osum);
8 document.write('<hr color="chartreuse"/>')

死循环以及停止死循环的方式:break

 1 for(var l=1;l>=0;l++){
 2 //因为L永远大于或等于0,所以此条件无限成立因此无限循环,若用break,停止循环跳出for函数,若用continue,跳过continue对应的本次循环后继续循环
 3     //document.write(l);//这么些会把机子搞崩溃的,这个做病毒不错,打开网页会显示一直显示加载中。
 4     if(l>=20){
 5         break;
 6     }//等于20的时候,会停止并跳出循环,不会执行下边的document函数,自然就不会把20写出来
 7     document.write(l+'<br/>');
 8     //停止的写法
 9 }
10 document.write('<hr color="red"/>');

continue

for(var m=1;m<=10;m++){
    if(m==5){
        continue;
    }
    document.write(m+'<br/>');
}///结果没有5
document.write('<hr/>')

for循环嵌套语句

1 for(var n=1;n<=3;n++){
2     document.write('一、这是外层包裹——第'+n+'层。<br/>');
3     document.write('<hr color="antiquewhite"/>');
4     for(var o=1;o<=2;o++){
5         document.write('1、这是内层的——第'+o+'层。<br/>');
6     }
7     document.write('<hr color="chartreuse"/>');    
8 }

当n等于1时,先把内部的for'循环完,再执行n++,然后n=2,再把内层for循环过一遍' 重点在于搞准确for循环的执行流程

制作5*4的表格

 ——输出几行几列的表格

 1 document.write('<table class="table" border="1">');
 2 for(var p=1;p<=5;p++){
 3     document.write('<tr>');
 4     for(var q=1;q<=4;q++){
 5         document.write('<td align="center">文字</td>')
 6     }
 7     document.write('</tr>');
 8 }
 9 document.write('</table>')
10 document.write('<hr color="red"/>');

同理,制作九九乘法口诀表

for循环的嵌套——九九乘法口诀表

自己写1

 1 document.write('<table class="table" border="1">');
 2 for(var r=1;r<=9;r++){
 3     document.write('<tr>');
 4     for(var s=1;s<=9;s++){
 5         document.write('<td>'+s+'*'+r+'='+(r*s)+'</td>');
 6     }
 7     document.write('</tr>');
 8 }
 9 document.write('</table>');
10 document.write('<hr color="red"/>')

自己制作第二个:

和第一个相比,错在核心位置了!!!第二个乘数应该小于等于第一个乘数,才会出现口诀表那样的样式。如下。t<=u是核心

1 document.write('<table class="table" border="1">');
2 for(var t=1;t<=9;t++){
3     document.write('<tr>');
4     for(var u=1;u<=t;u++){
5         document.write('<td>'+u+'x'+t+'='+(u*t)+'</td>');
6     }
7     document.write('</tr>');
8 }
9 document.write('</table>');

更改,原理不变调数据——变化1

 1 document.write('<hr color="red"/>');
 2 document.write('<table class="table" border="1">');
 3 for(var v=9; v>=1; v--){
 4     document.write('<tr>');
 5     for(var w=1; w<=v; w++){
 6         document.write('<td>'+w+'x'+v+'='+(w*v)+'</td>');
 7     }
 8     document.write('</tr>');
 9 }
10 document.write('</table>');
11 document.write('<hr color="red"/>');

打印一个倒得乘法口诀表

自己创作的第一种形式——变化2

1 document.write('<table class="table" border="1">');
2 for(var v=9; v>=1; v--){
3     document.write('<tr>');
4     for(var w=9; w>=v; w--){
5         document.write('<td>'+v+'x'+w+'='+(w*v)+'</td>');
6     }
7     document.write('</tr>');
8 }
9 document.write('</table>');

自己创作的第二种形式_写法上和第一个不一样,但是效果是一样的——变化3

 1 document.write('<hr color="red"/>');
 2 document.write('<table class="table" border="1"/>');
 3 for(var x=1;x<=9;x++){
 4     document.write('<tr>');
 5     for(var y=9;y>=x;y--){
 6         document.write('<td>'+x+'x'+y+'='+(x*y)+'</td>');
 7     }
 8     document.write('</tr>');
 9 }
10 document.write('</table>');
11 document.write('<hr color="red"/>');

for循环实现百钱买百鸡的问题:

公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法? 设:公鸡买x只,母鸡y只,小鸡n只,则,x+y+n==100(只)因为只需要买100只,最多不能超过100只。

钱数上:5*x+3*y+3/n==100(元),【切记,小鸡的价格是数量除以3】只有100元,多了没有。

有因为,100元最多买公鸡20只/母鸡33只/小鸡100(因为只需要买100只,尽管钱数可以买300只,但是不需要都是多余的)只。所以for循环如下两种方式:

1、三层for嵌套

1 for(var x=0;x<=20;x++){
2     for(var y=0;y<=33;y++){
3         for(var n=0;n<=100;n++){
4             if((x+y+n==100)&&(5*x+3*y+n/3==100)){
5                 document.write('需要买公鸡:'+x+'只,母鸡:'+y+'只,小鸡:'+n+'只。<hr/>');
6             }
7         }
8     }
9 }

2、两层for嵌套。相对来说,比三层的效率要好点,轻量。

 1 document.write('<hr color="red"/>');
 2 for(var a=0;a<=20;a++){
 3     for(var b=0;b<=33;b++){
 4         c=100-a-b;
 5         if((c%3==0)&&(5*a+3*b+c/3==100)){
 6             document.write('公鸡'+a+'只,母鸡'+b+'只,小鸡'+c+'只.<hr/>');
 7         }
 8     }
 9 }
10 document.write('<hr color="red"/>');

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Leetcode名企之路

【Leetcode】60. 第k个排列

给定 n 的范围是 [1, 9]。 给定 k 的范围是[1, n!]。 示例 1:

2512
来自专栏数据结构与算法

小米OJ刷题日志

$f[i][j]$表示第一个队列匹配到了$i$位置,第二个队列匹配到了$j$位置是否可行

4402
来自专栏决胜机器学习

《编程之美》读书笔记(一)——中国象棋将帅有效位置

《编程之美》读书笔记(一) ——中国象棋将帅有效位置 (原创内容,转载请注明来源,谢谢) 一、问题 ? 如上述棋盘,假设将为点A,帅为点B。将只能在d10...

4006
来自专栏人工智能LeadAI

讨厌算法的程序员 | 第五章 合并算法

本篇介绍的“合并”算法,是为后面学习“归并排序”的一个准备。合并算法是归并排序中的一个子算法,请注意两者之间的关系和差异。 之所以把它独立成一篇,一方面是一旦了...

3645
来自专栏海天一树

小朋友学C语言(4):单精度浮点数与双精度浮点数

上节课 简单介绍了浮点数。计算机程序中的浮点数分为单精度浮点数和双精度浮点数。 单精度和双精度精确的范围不一样。 计算机里的最基本的存储单位用位(bit)来表...

37812
来自专栏追不上乌龟的兔子

[多少懂点位运算】续·一行代码解决LeetCode268缺失数字

给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。

1664
来自专栏chenjx85的技术专栏

leetcode-633-Sum of Square Numbers

1412
来自专栏mathor

C++STL中vector使用策略(二)

1454
来自专栏大数据风控

Python中如何进行数据分组

数据分组 根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间进行研究,以揭示其内在联系和规律性。 cut 函数: cut(series,...

3177
来自专栏SeanCheney的专栏

《利用Python进行数据分析·第2版》第12章 pandas高级应用12.1 分类数据12.2 GroupBy高级应用12.3 链式编程技术12.4 总结

前面的章节关注于不同类型的数据规整流程和NumPy、pandas与其它库的特点。随着时间的发展,pandas发展出了更多适合高级用户的功能。本章就要深入学习pa...

6417

扫码关注云+社区