07-算法拓展--highgh的博客--JavaScript学习笔记

算法

什么是算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

简单说

算法就是把一个问题,拆解为计算机能够一步步执行的步骤.

计算机的流程控制语句:顺序执行、选择语句、循环语句

优秀算法的要求

正确性

健壮性

可读性

伪代码

计算1+2+3+4+…+99+100

定义变量sum

从1到100遍历数字 , 用 i 表示 把每个数字i加到sum中打印显示sum

for(let i = 1;i <= 100; i++){
   
        document.write(i + "<br>");   // 1 2 3 100
    }

算法如何培养?

多敲、多练、多总结

经典的业务需求场景要熟记心间

累加器和累乘器

累加器题目

在这里插入图片描述

<script>
    // 由用户输入数字n 计算3/2 + 4/3 + 5/4 + ... +(n+1)/n的结果

    //用户输入数字n
    let n = Number(prompt("请输入数字n"));

    // 累加器
    let sum = 0;

    // 遍历分母就可以了 , 因为分母就是分子 + 1
    for (let i = 2; i <= n; i++) {
    
    sum += (i + 1) / i;
    }

    alert(sum.toFixed(2));
    //toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
    
    //输入5    === >  5.28   ====> 3/2 + 4/3 + 5/4 + 6/5
</script>

累乘器题目

由用户输入数字n,请计算n的阶乘

6的阶乘   ===>   6 * 5 * 4 * 3 * 2 * 1
// 计算阶乘

//用户输入数字n
let n = Number(prompt("请输入一个数字"));

//累乘器  一定注意  累乘器要从1开始 , 因为如果从0开始,0乘以任何数字都是0
let result = 1;


for(let i = n; i >= 1; i--){
   
	result *= i;
}

// for(let i = 1; i <= n; i++){
   
// 	result *= i;
// }	

//显示结果
alert(result);

同时用到累加器和累乘器

[面试题]圆周率π可以由下面的莱布尼茨级数公式计算出来,请由用户输入参数n,计算圆周率π

在这里插入图片描述

 <script>

      // 用莱布尼茨数估算圆周率

      //   π = 2 * ( 1 + 1/3 + (1*2)/(3*5) +
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只情绪稳定的老虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值