算法思路
题目要求我们接收一个正浮点数,输出该数值的近似整数值。具体规则是:
- 如果小数部分大于或等于 0.5,向上取整。
- 如果小数部分小于 0.5,向下取整。
解决思路:
- 读取输入的浮点数。
- 使用 JavaScript 提供的内置函数
Math.round()
,该函数能够根据四舍五入规则自动处理数值:- 当小数部分大于或等于 0.5 时,向上取整。
- 当小数部分小于 0.5 时,向下取整。
- 输出处理后的整数。
JavaScript 内置的 Math.round()
方法正好符合题目要求,无需手动编写四舍五入的逻辑。
Code
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// 读取输入的浮点数
let num = parseFloat(await readline());
// 使用 Math.round() 进行四舍五入
let result = Math.round(num);
// 输出近似值
console.log(result);
}()
复杂度分析
- 时间复杂度:O(1),
Math.round()
是常数时间复杂度的操作,因为它只对一个数进行处理。 - 空间复杂度:O(1),我们只使用了少量的常数空间来存储输入的数字和输出的结果。