zoukankan      html  css  js  c++  java
  • Math Issues

    Oh no, our Math object was "accidently" reset. Can you re-implement some of those functions? We can assure, that only non-negative numbers are passed as arguments. So you don't have to consider things like undefinednullNaN, negative numbers, strings and so on.

    Here is a list of functions, we need:

    • Math.round()
    • Math.ceil()
    • Math.floor()

    题目意思是js 的内置对象Math 不能用了,让我们来修复Math.round()这些方法。

    只要能想到parseInt()这个方法,这个问题就很简单了。我的常规解法:

    Math.round = function(number) {
      return (number - parseInt(number) >= 0.5) ? parseInt(number) + 1 : parseInt(number) ;
    };
    
    Math.ceil = function(number) {
      return (parseInt(number) === number) ? number : parseInt(number) + 1;
    };
    
    Math.floor = function(number) {
      return parseInt(number);
    };
    

     某神的解法:

    Math.round = function(number) {
      return Math.floor(number + 0.5);
    };
    
    Math.ceil = function(number) {
      return (number | 0) + (number % 1 !== 0 ? 1 : 0);
    };
    
    Math.floor = function(number) {
      return number | 0;
    };

    看了某神的解法,瞬间感觉自己长了个假脑子,不说了,我去哭一会儿,把脑子里的水倒一倒。

  • 相关阅读:
    ASP.NET(C#)——唯一订单号
    Oracle——备份与还原
    ASP.NET(C#)——日期函数
    数据安全——数据安全标准
    文件内容的追加
    文件的读取
    创建文件,写文件
    遍历文件改进
    遍历文件夹
    递归方法求前n项和
  • 原文地址:https://www.cnblogs.com/renbo/p/8159107.html
Copyright © 2011-2022 走看看