我有一个工作任务,有这样的问题
There is a building with unlimited floors. Within each floor there are a number of lockers with consecutive locker numbers, in a configuration like this:
Floor. 1 there are 5 lockers, number 1-5
Floor. 2 there are 6 lockers, numbers 6-11
Floor. 3 there are 7 lockers, numbers 12-18
Floor. 4 there are 5 lockers, numbers 19-23
Floor. 5 there are 6 lockers, numbers 24-29
Floor. 6 there are 7 lockers, numbers 30-36
Etc…
Create a function that takes a locker number parameter, and returns the floor number
解决这个问题的最佳代码是什么?非常感谢.
我编写了以下代码:
const Floor= 10;
for (let i = 1; i < lantai + 1; i++) {
var lokerStart = 0;
var lokerEnd = 0;
if (i % 3 === 1) {
lokerStart = i;
lokerEnd = lokerStart + 4;
} else if (i % 3 === 2) {
lokerStart = 6;
lokerEnd = lokerStart + 5;
} else if (i % 3 === 0) {
lokerStart = 12;
lokerEnd = lokerStart + 6;
}
console.log("Floor", i, ", Locker Number", `${lokerStart} - ${lokerEnd}`);
}
但它的结果是:
Floor 1 ,Locker Number 1 - 5
Floor 2 ,Locker Number 6 - 11
Floor 3 ,Locker Number 12 - 18
Floor 4 ,Locker Number 4 - 8
Floor 5 ,Locker Number 6 - 11
Floor 6 ,Locker Number 12 - 18
Floor 7 ,Locker Number 7 - 11
Floor 8 ,Locker Number 6 - 11
Floor 9 ,Locker Number 12 - 18
Floor 10 ,Locker Number 10 - 14
我想要一个函数,通过输入储物柜号码19来获得正确的楼层,然后得到4楼.