程序员模拟器入门攻略

修改于02/10317 浏览攻略
入门
输出1
TapTap
加一
进行最简单的递增运算
TapTap
相反数
算术运算与“正负性”的概念,将输入值取反
TapTap
判断正数
比较运算,并返回布尔值(true/false)
TapTap
绝对值
条件分支(if-else),根据输入的不同情况返回不同结果
TapTap
二倍
进行最基本的倍数运算,理解乘法与变量的使用
TapTap
偶数
取余运算(%)在奇偶判断中的应用,并返回布尔值
TapTap
计算正方形面积
应用正方形面积公式(边长的平方),进行乘方运算
TapTap
计算总价
数组与下标的概念,学习如何从数组中提取多个值进行计算
数组第一位是0,第二位是1
TapTap
数字位数反转
数学运算与字符串解法
通过不断取原数字的末位(%10),并将其作为新数字的末位来逐步构建(b*10+...),同时原数字不断去掉末位(/10)
split('').reverse().join('') 是一个处理字符串反转的固定搭配
要反转字符串,先 split 拆成数组,reverse 掉个头,再 join 拼回去
TapTap
平均分
从数组中提取多个值,并进行简单的统计计算
TapTap
两数相加
数组下标,并进行最基本的加法运算
TapTap
阶乘
利用循环进行累积乘法,并妥善处理边界情况
通过循环从2到n进行累乘,同时用初始值和条件判断处理了0、1及负数的边界情况
TapTap
数字之和
通过循环和取余运算,以数学方式逐位分解整数并累加,从而避开字符串转换,直接操作数字本身
数学取余法:通过不断取数字的个位数累加,并逐位削去已处理的个位数,直至数字归零
字符串遍历法:
1.符号处理:使用 Math.abs() 去除负号,聚焦数字部分
2. 类型转换:通过 .toString() 将数字转为字符串,使其可按位遍历
3. 遍历累加:循环字符串的每个字符,用 parseInt() 转回数字并累加
4. 输出结果:返回累加值,即数字各位之和
TapTap
长度
.length 是 JavaScript 中字符串和数组的内置属性,直接代表了它们包含的元素数量。这是一个只读属性,你只需要访问它,而无需改变它
TapTap
变成零
通过循环模拟题目规则(偶数除以2,奇数减1),并用计数器记录每次操作,直到数字变为0
steps:计数器变量,用于累加事件发生的次数
TapTap
不要零
用取余和除法拆解数字,并在重组时跳过值为0的位,通过维护一个位权变量来保证非零数字的正确位置
Math.floor:砍掉小数,只留整数,用于数字“削位”(如 Math.floor(123/10) 得 12)。
while:重复执行一段代码,直到条件不成立(如 while(n>0) 表示“只要n大于0就继续”)。
if / else:让程序做选择,满足条件就做A,否则做B(如 if(n%2===0) 判断奇偶)。
% (取余):求除法后的余数,用于判断整除或取数字个位(如 123%10 得 3)。
++:让变量自己加1,用于计数(如 steps++ 记录步数)。
function:把一段代码打包成一个可重复使用的工具(如 function solve(n) 定义解题函数)。
power:在重组数字时,动态标记当前应该放置数字的位置(个、十、百位…)。
temp:原始数据的临时副本,在循环中被不断“削位”处理。
digit:在循环中,当前从数字上取下的“个位”数字,是判断和操作的对象
TapTap
连招
以空间换时间,用数据结构提升效率
先统计,再按原顺序查找
const count = {}:创建一个对象(可视为“字典”),用于建立 字符 -> 出现次数 的映射,实现快速统计与查询。
for (const c of arr) :for...of 循环,直接遍历数组(或字符串)中的每一个值 (c),比传统 for 循环写起来更简洁。
(count[c] \|\| 0) :逻辑或 \|\| 的妙用,意为“如果 count[c] 有值则取它,否则取 0”。是给未定义变量设置默认值的常用技巧
TapTap
至此,“3-5岁”的模式到此结束。
入门只是让你熟悉规则。
真正的乐趣,以及随之而来的头疼,现在才开始。
普通难度见,祝你调试愉快!
10
5
4