路口问题
// 假设某人有 100,000 现金。 每经过一次路口需要进行一次交费。 交费规则为当他现金大于50,000 时每次需要交 5% //如果现金小于等于 50,000 时每次交 5,000 。 请写一程序计算此人可以经过多少次这个路口 let temp = money = 1e5; let count=0; while(money>0){ if(money>5e4){ money *= 0.95; count++; } else{ money -=5000; count++; } } console.log(count);
百钱买百鸡
//鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
let money=100;//总共有100块钱 for(let i=0;i<20;i++){//公鸡的数量最多买20只 for(let j=0;j<33;j++){//母鸡的数量最多买33只 let k=100-i-j;//小鸡的数量=100-公鸡的数量-母鸡的数量 if(k/3+i*5+j*3===money){//三种鸡所花钱之和=100块钱 console.log(i,j,k); } } }
求阶乘
//求1+2!+3!+...+20!的值 let count=1; let sum=0; for(let i=1;i<=20;i++){ for(let j=1;j<=i;j++){ count *=j; } sum+=count; count=1; } console.log(sum);
求100-999之间的水仙花数。
//算法 : abc = a ³ + b³ + c ³ let n=prompt('请输入一个100~999的数字,判断是不是水仙花数:'); n = Number(n) fun1(n) function fun1(n){ let a=parseInt(n/100); let b=parseInt(n%100/10); let c=parseInt(n%10); let couns = a ** 3 + b ** 3 + c ** 3; if(couns===n){ document.write(`${n}是水仙花数!!`) } }
求素数
//输出100-200之间所有的素数 //循环从100开始找起到200结束 //外层循环代表从100-200中取得数 for(let i=100;i<=200;i++){ //内循环为2~外循环取的数, for(let j=2;j<i;j++){ //如果2~该数之间有能把该数整除的数,退出本次循环 if(i%j===0){ break; } //如果内循环结束还没有找到能够整除的数,既是质数 if(j===i-1){ console.log(i); } } }
浙公网安备 33010602011771号