for循环实际应用
1、计算100以内(含)所有奇数和偶数的和。
方法一:下列方法循环体的执行次数是100次。
1 var odd=0,even=0; //定义两个存放最终的结果的变量
2 for(var i=1;i<=100;i++){ //for循环的条件
3 if(i%2){//如果i除以2的余数的1则执行下列代码
4 odd=odd+i;
5 }else{//否则执行下列代码
6 even=even+i;
7}
8}
console.log(“奇数和=” + odd);
console.log(“偶数和=” + even);
方法二:将方法一种循环体的执行次数降低。
var odd=0,even=0;
for(var i=1;i<100;i+=2){//for循环条件
odd=odd+i;
even=even+(i+1);
}
console.log("奇数和=" + odd);
console.log("偶数和=" + even);
输出所有的“水仙花数”
水仙花数是一个三位数,各个位的立方和等于它本身。
153 = 13+53+33
var gw,sw,bw;//定义变量
for(var i=100;i<1000;i++){//条件i=100;i>1000;i+1;
gw=i%10;//i除以10的余数等于gw
sw=parseInt(i/10)%10;//(i除以10)的余数在取整的sw
bw=parseInt(i/100);//(i除以100)后取整等于bw
if(gw*gw*gw+sw*sw*sw+bw*bw*bw===i){//gw的立方加sw的立方加bw的立方精确等于i
console.log(i);//输出i的值
}
}
如何计算数a的n次方:Math.pow(a,n),数学类Math的pow()方法。
寻找下列数列的规律
1,1,2,3,5,8, 13 任意一个数的前两项和是它本身,被称为“斐波那契”数列
var f1=1,f2=1;//设置变量
var f;//设置未定义变量
var t=3;//设置变量团
document.write("<span>" + f1 + "</span>");
//在页面中显示f1
document.write("<span>" + f2 + "</span>");
//在页面中显示f2
while(t<=20){
f=f1+f2;//f=F1+F2
document.write("<span>" + f + "</span>");//在页面中显示f得值
if(t%5===0) document.write("<br />");//在页面中显示f得值每行显示五个
f1=f2;//当f=F1+F2时,f1将为下一步准备f1等于f2;
f2=f;//当f=F1+F2时,f2将为下一步准备f2等于f;
t++;//上述条件完成后t将加一进行下一步计算;
}
上述代码:翻译f=f1+f2等同于1+1=2;当f等于2是,f1,f2开始为下一次计算准备。此时f1将等于f2也就是f2将自身的值赋予f1,而f2得值将被f赋予,t++也在进行着下一次的计算准备,t=t+1。
质数问题
算法1:让n除以2、3、4、…、n/2,都不能把n整除就说明n是质数。
算法2:让n除以2、3、4、…、,都不能把n整除就说明n是质数。
算法2比算法1收敛速度更快,即算法2判断n是否为质数循环次数比算法1更少
$(function(){
$(".btn").click(function(){
// 给.btn创建一个单击事件
var int=$("input[name=int]").val();
// 收集到input文本框输入的内容
var n=parseInt(int);
// 设置变量等于文本框输入的内容
if(isNaN(n)){
// 判断n是否为整数
window.alert("请输入一个整数");
// 如果输入的不是整数那么则弹框提醒
}else{
for(var i=2;i<=Math.sqrt(n);i++){
// for循环条件变量等于二;
// i<=跟号n;i+1;
// if(n%i!==0);这个条件成立却,
// 说明不了问题;
if(n%i==0){
break;
// 如果n%i等于0,则执行break;
//break为非正常出口,将执行,
//else语句。
}
}
if(i>Math.sqrt(n)){
// 如果i>大于根号n则执行下列代码
console.log(n + "是质数");
}else{
// 否则执行下列代码
console.log(n + "不是质数");
}
}
})
})
爱因斯坦阶梯
有一个阶梯。若每步上2阶,最后剩下1阶;
若每步上3阶,最后剩下2阶;若每步上5阶,
最后剩下4阶;若每步上6阶,最后剩下5阶;
若每步上7阶,最后一阶都不剩。问这个阶梯有多少阶。
将以上条件转化为一下js代码
ladder%2=1(阶梯数是奇数)
ladder%3=2
ladder%5=4
ladder%6=5
ladder%7===0(阶梯数是7的倍数)
根据以上条件提出解决方法
方法一
var ladder=7;
// 设置变量为7;
while(ladder%2!==1 || ladder%3!==2 ||
ladder%5!==4 || ladder%6!=5
|| ladder%7!==0){
// 当ladder%2的余数不等于1或ladder%3的余数不等于2或
// ladder%5的余数不等于4或ladder%7的余数不等于0;
// 执行下列代码:
ladder++;
}
// 当上述条件都不成立时执行下列代码
console.log(ladder);
方法二:
var ladder=7;
// 设置变量等于7
while(ladder%3!=2 || ladder%5!=4 ||
ladder%6!=5){
// 当ladder%3的余数不等于2或
// ladder%5的余数不等于4或
// ladder%6的余数不等于5;
ladder+=14;
}
// 当所有的条件都不成立时执行下列代码
console.log(ladder);
Math.sqrt(n)在js 中表示根号n;
Math.pow(a,n)在js 中表示计算a的n 次方;