내가 더 주어진 공간을 사용하여 바닥을 찾아야했다 질문 건너 온 놓여있는 방에 바닥을 찾을 :은 방 번호 감안할 때, 다음과 같은 분포에 따라, 그것은 자바
floor rooms
1 1-5
2 6-15
3 16-20
4 21-30
5 31-35
6 36-45
합니다. 방 번호를 "37"이라고 지정하면 프로그램은 "층 번호가 6"이라고 말해야한다고 가정합니다. 비록 내가 그것에 대한 해결책을 아래에 주었지만 나는 그 자체가 좋은 해결책이 아니라고 느꼈다. 바닥 수가 증가하면 실패 할 수도 있습니다.
int queryRoom = 37;
int totalFloor = 6;
int currentRm = 0;
int floorInQuestion = 1; // staring floor
while (floorInQuestion != totalFloor) {
if (floorInQuestion % 2 != 0) {
currentRm = currentRm + 5;
} else {
currentRm = currentRm + 10;
}
if (queryRoom <= currentRm)
break;
floorInQuestion++;
}
System.out.println(floorInQuestion);
당신은 수학 공식을 사용할 수 있습니다
그리고 당신이 가지고있는 ** 특정 ** 문제는 무엇인가? – QBrute
[codereview.se]가이 질문에 더 적합한 장소 일 수 있습니다. –
플로어 룸 배포에 대한 수학적 규칙을 추측 한 것으로 보입니다. 나는 방이 그런 수학적 규칙에 따라 배포 된 호텔을 본 적이 없다. 아마도 1 층에는 2 층에 존재하지 않는 기술 실이 있고, 3 층에는 2 층보다 큰 방이 있습니다. 수학적 규칙을 추론하려고 시도하지 않고 대신 간단히 목록을 갖습니다. 각 층에는 룸 번호가있는 범위 (또는 세트)가 있습니다. –