首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用JavaScript解决此问题的更有效的方法是什么

使用JavaScript解决此问题的更有效的方法是什么
EN

Stack Overflow用户
提问于 2019-07-09 14:55:52
回答 6查看 166关注 0票数 3

有一个编码挑战要做。

问题是要写一个函数,它返回一个比N大的任意数字,并以0结尾。

我的解决方案是:

代码语言:javascript
复制
function solution(N) {
    for (let n = N +1; n <= N + 10; n++) {
        if (n % 10 === 0) return n;
    }
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-07-09 14:59:25

您可以只划分并使用Math.ceil

代码语言:javascript
复制
const solution = (n) => Math.ceil((n+1)/10) * 10 

console.log(solution(49))
console.log(solution(40))
console.log(solution(41))
console.log(solution(0))
console.log(solution(-1))
console.log(solution(-11))

票数 4
EN

Stack Overflow用户

发布于 2019-07-09 14:59:13

如果你需要10的任意更高的倍数,最简单的方法就是乘以10。

代码语言:javascript
复制
const solution = n => n * 10
票数 2
EN

Stack Overflow用户

发布于 2019-07-09 15:07:09

没有数学,使用mod。

代码语言:javascript
复制
const solution = n => n + 10 - n % 10

console.log(solution(57))
console.log(solution(23))
console.log(solution(1))
console.log(solution(221))
console.log(solution(9000))

对于小于10^9的N,您总是可以添加一个if来捕获这些数字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56946873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档