HJ7 取近似值

104 阅读1分钟

Problem: HJ7 取近似值

题目描述

描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。 数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

示例1

输入:5.5
输出:6

算法流程

  1. 接受一个正浮点数值。
  2. 使用 Math.floor() 函数向下取整,得到小数点前的整数部分。
  3. 取得小数点后的小数部分。
  4. 判断小数部分是否大于等于 0.5 ,如果是,则将整数部分加 1 得到向上取整的结果,否则结果就是整数部分本身。

代码

function approximateInteger(number) {
  let integerPart = Math.floor(number); // 获取小数点前的整数部分
  let decimalPart = number - integerPart; // 获取小数部分

  if (decimalPart >= 0.5) {
    return integerPart + 1; 
  } else {
    return integerPart; 
  }
}

复杂度

  • 时间复杂度:

时间复杂度: O(1)O(1)

  • 空间复杂度:

空间复杂度: O(1)O(1)