关于JS中利用for循环解决实际问题的逻辑操作
Posted WORSHIP亚萨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JS中利用for循环解决实际问题的逻辑操作相关的知识,希望对你有一定的参考价值。
第一部分
<script>
// <!--折纸:折多少次和珠穆朗玛峰一样高
//1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米-->
//
var depth = 0.0001;
for(i=1;true;i++){
depth=depth*2
if(depth>8848){
alert(i);
break;
}
}
//3.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
//羽毛球拍最多买13个 球最多买66个 水最多买100个(条件限制)
var m = "";
var n = 0;
for(i=1;i<=13;i++){
for(x=1;x<=66;x++){
for(y=1;y<=100;y++){
var money=i*15+x*3+y*2;
if(money==200){
m += "球拍"+i+"球"+x+"水"+y+"|";
n++;
}
}
}
}
alert(n);alert(m);
//4.公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
//公鸡最多50,母鸡最多100,小鸡最多200
var a = "";
var b = 0;
for(i=1;i<=50;i++){
for(x=1;x<=100;x++){
for(y=1;y<=200;y++){
var money=i*2+x*1+y*0.5;
var number=i+x+y;
if(money==100 && number==100){
a += "公鸡"+i+"母鸡"+x+"小鸡"+y+"|";
b++;
}
}
}
}
alert(b);alert(a);
//5.凑钱 1, 2,5凑20元钱有多少可能
// 1元 20 2元 10 5元 4
var a = "";
var b = 0;
for(i=0;i<=20;i++){
for(x=0;x<=10;x++){
for(y=0;y<=4;y++){
var money=i+x*2+y*5;
if(money==20){
a += "一元"+i+"两元"+x+"五元"+y+"|";
b++;
}
}
}
}
alert(b);alert(a);
// 2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,
// 问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
var syt = 1;
var sxt = 0;
var sct = 0;
var dyt = 0;
var dxt = 0;
var dct = 0;
for(var i=0;i<10;i++) {
//计算当前月份的兔子数量
dyt = sxt+sct;
dxt = syt;
dct = sct+sxt;
//将当前月份的数量转为上个月的
syt = dyt;
sxt = dxt;
sct = dct;
}
var s = "10个月之后幼兔:"+dyt+"个,小兔:"+dxt+"个,成兔:"+dct+"个";
alert(s);s
</script>
第二部分(难度上升)
<script>
//第一题:
//X3 * 6528 = 3X * 8256
//X为一个数字 填入一个数字 使等式成立
for(x=1;x<10;x++){
var a=(x*10+3);
var b=(3*10+x);
if(a*6528==b*8256){
alert(x);
}
}
//第二题:
//在页面上输出以下图形
var a="*";
for(i=1;i<6;i++){
for(j=1;j<6-i;j++){
document.write(" ");
}
for(s=1;s<2*i;s++){
document.write(a);
}
document.write("<br>");
}
//第三题:
//找出100-999之间的所有“水仙花数”。所谓水仙花数是指一个三位 数,各位数字的立方和等于该数本身。
//(如15的3次方=1的3次方+5的3次方+3的3次方)并输出这些数字
for(x=1;x<10;x++){
for(y=1;y<10;y++){
for(z=1;z<10;z++){
m=x*x*x+y*y*y+z*z*z;
n=100*x+10*y+z;
if(m==n){
document.write(n+"<br>");
}
}
}
}
//第四题:
//输出1000年到现在的所有闰年
var s=0;
for(i=1000;i<2018;i++){
if(i%4==0 && i%100!=0 || i%400==0){
s+=i+"||";
}
}
alert(s);
//第五题:
//编写程序,计算 1!+2!+3!+…..+10!的结果。
var sum=0;
for(i=1;i<11;i++){
var a=1;
for(b=1;b<=i;b++){
a*=b;
}
sum+=a;
}
alert(sum);
</script>
以上是关于关于JS中利用for循环解决实际问题的逻辑操作的主要内容,如果未能解决你的问题,请参考以下文章
关于[JS] forEach循环return无法跳出的踩坑和解决方案