题解 | #剪绳子#
绳子长度如果足够长(number>3)则让子绳子尽量最大为3,只有当剩余绳子长度为1时,需要剩余两段长度为2的绳子
function cutRope(number) {
// write code here
//绳子长度如果足够长(number>3)则让子绳子尽量最大为3,只有当剩余绳子长度为1时,需要剩余两段长度为2的绳子
if (number == 2) {
return 1
} else if (number % 3 == 0) {
let num = number / 3
return 3 ** num
} else if (number % 3 == 1) {
//除以3余数是1
//则需要剩余出来2,这样才能乘积保证最大
let temp = number - 2
let yuShu = temp % 3
console.log(3 ** parseInt(temp / 3) * yuShu * 2 )
return 3 ** parseInt(temp / 3) * yuShu * 2
} else if (number % 3 == 2) {
//除以3余数是2
//求除以3的余数
let yuShu = number % 3
return 3 ** parseInt(number / 3) * yuShu
}
}
module.exports = {
cutRope: cutRope
};