算法思路

题目要求我们接收一个正浮点数,输出该数值的近似整数值。具体规则是:

  • 如果小数部分大于或等于 0.5,向上取整。
  • 如果小数部分小于 0.5,向下取整。

解决思路

  1. 读取输入的浮点数。
  2. 使用 JavaScript 提供的内置函数 Math.round(),该函数能够根据四舍五入规则自动处理数值:
    • 当小数部分大于或等于 0.5 时,向上取整。
    • 当小数部分小于 0.5 时,向下取整。
  3. 输出处理后的整数。

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),我们只使用了少量的常数空间来存储输入的数字和输出的结果。