程序员模拟器不完整普通攻略

修改于12 小时前136 浏览攻略
质数
引入算法效率概念,利用数学性质(平方根)优化验证范围
通过从2到其平方根的试除来验证,一旦发现可整除的数则立即中断,以此高效判断质数
limit:是Math.sqrt(n)(n 的平方根)的计算结果,它是一个临时变量,用来存储我们循环检查的上限值
Math.sqrt(n):JavaScript内置的数学函数,用于计算一个数 n 的平方根
TapTap
上楼梯
next:一个临时变量,在动态规划的滑动窗口更新中充当 “中转站” ,用于安全地存储新计算出的结果,防止在更新其他状态变量时丢失数据
TapTap
最大公约数
gcd:最大公约数 的英文缩写,全称为 Greatest Common Divisor
欧几里得算法公式:gcd(a, b) = gcd(b, a mod b)
通用公式:
gcd(a, b)   = gcd(b, a)
            = gcd(|a|, |b|)
            = gcd(a, b mod a)   // 如果a≠0
Math.abs() :JavaScript 中的一个内置数学函数,用于返回一个数字的绝对值
Math:JavaScript 的内置数学对象,包含各种数学函数和常量
abs:"absolute"(绝对值)的缩写
欧几里得算法:或称辗转相除法,是计算两个正整数最大公约数的高效算法
TapTap
最小公倍数
lcm:最小公倍数的英文缩写,全称为Least Common Multiple
公式:lcm = a × b ÷ gcd(a, b)
TapTap
斐波那契数列
递推公式:F(n) = F(n-1) + F(n-2) 
比内公式:F(n) = (φ^n - (-φ)^(-n)) / √5
prev和curr是在迭代计算斐波那契数列时使用的两个关键变量
prev:代表前一个斐波那契数 即F(n-2)
curr:代表当前斐波那契数 即F(n-1)
TapTap
数字根
digital root:把一个大数字"压缩"成一个0-9的个位数,是数学中的简化工具,也是编程中的实用函数
1. 把数字拆成各位数字
2. 将所有数字相加得到和
3. 如果和≥10,重复步骤1-2
4. 直到得到个位数
TapTap
最大值
findMax:"找最大值"的函数,输入一堆数字,输出其中最大的那个
TapTap
sum:求和、总和
Array:数组
sumArray:求数组元素的和
total:总计、总和
i:index的缩写,表示索引、下标
arr:array的缩写,数组
length:长度
arr.length:数组的长度(元素个数)
TapTap
罗马数字
romanToInt:罗马转整数的函数
romanMap:字符到数值的映射表
currentVal/nextVal:用于实现减法规则
int:integer(整数)的缩写
Roman:罗马、罗马数字
intToRoman:整数转罗马数字的函数
values:数值数组
symbols:符号数组
result:结果字符串
暂时没有运行结果 一下子学太多新词汇 要长脑子了[TapFamily庆生-万物皆可联动_躺]
TapTap
有效括号
stack(栈):后进先出,像一摞盘子
push(压入):往栈顶加元素
pop(弹出):从栈顶取元素
top(栈顶):最后一个放入的元素
empty stack(空栈):栈里没东西
match(匹配):左右括号是同一对
遇到左括号 ( [ { → 放进盒子(放在最上面)
遇到右括号 ) ] } → 从盒子最上面拿出一个,看看是不是一对
是 → 继续
不是 → 失败
如果盒子里没东西了(空)却来了右括号 → 失败
最后,盒子必须是空的 → 成功
TapTap
5
5