路口问题

  

// 假设某人有 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);
        }
      }      
    }

 

 

 

posted on 2021-07-27 22:38  印第安老刘头  阅读(199)  评论(0)    收藏  举报