文章目录
codewars-js练习
2021/3/3
github 地址
【1】<7kyu>【Beginner Series #5 Triangular Numbers】
Triangular number is the amount of points that can fill equilateral triangle.
Example: the number 6 is a triangular number because all sides of a triangle has the same amount of points.
给定一个数,判断是否为三角形数
example:
T(n) = n * (n + 1) / 2,
n - is the size of one side.
T(n) - is the triangular number.
isTriangular(1), true
isTriangular(2), false
solution
<script type="text/javascript">
function isTriangular(t) {
// console.log(t)
let a = 1;
let b = 1;
let c = -2*t;
let deta = Math.pow(b,2) - (4 * a * c)
if(deta<0)return false;
else{
let result =(-1 + Math.sqrt(deta))/(2* a)
// console.log(result)
if(result == 0) return false
else if(result % 1 == 0)return true
else return false
}
}
// 验证
console.log(isTriangular(1));//true
console.log(isTriangular(2));//false
console.log(isTriangular(14));//false
</script>
【2】<8kyu>【Return Negative】
example:
makeNegative(1); // return -1
makeNegative(-5); // return -5
makeNegative(0); // return 0
makeNegative(0.12); // return -0.12
solution
<script type="text/javascript">
function makeNegative(num) {
return num<=0?num:(-num);
}
// 验证
console.log(makeNegative(1)); // return -1
console.log(makeNegative(-5)); // return -5
console.log(makeNegative(0)); // return 0
console.log(makeNegative(0.12)); // return -0.12
</script>
【3】<7kyu>【Beginner Series #3 Sum of Numbers】
example:
GetSum(1, 0) == 1 // 1 + 0 = 1
GetSum(1, 2) == 3 // 1 + 2 = 3
GetSum(0, 1) == 1 // 0 + 1 = 1
GetSum(1, 1) == 1 // 1 Since both are same
GetSum(-1, 0) == -1 // -1 + 0 = -1
GetSum(-1, 2) == 2 // -1 + 0 + 1 + 2 = 2
solution
<script type="text/javascript">
function getSum(a,b){
// console.log(a,b)
var max = Math.max(a,b)
var min = Math.min(a,b)
var sum =0
for(var i=min;i<=max;i++){
sum +=i;
}
return sum
}
// 验证
console.log(getSum(0,-1));//-1
console.log(getSum(-1,2)); //-1+0+1+2=2
</script>
以上为自己思路供大家参考,可能有更优的思路。
209

被折叠的 条评论
为什么被折叠?



