이러한 퍼즐이 있습니다 : "상점 상태 : 손에 열 빈 음료수 병을 가질 수 소다 장 병에 대한 세 개의 빈 음료수 병, 그녀는 술을 얼마나 많은 소다 최대의 병을 변경할 수 있습니다.?"대답은 다섯 병이며, 다음과 같이 : 첫 9 빈 병 소다 변화의 3 병, 세 병을 끌어와,이 병이 가득 마시 네를 마시고 빈 병의 전체 세 병을 마시고, 이번에는 두 개의 빈 병을 떠났다. 그럼 당신은 사장이 다시 보스에 세 개의 빈 병을 가득 병 마시고, 당신에게 음료수 한 병을 빌려 전체이 병을 마실 수 있습니다. 당신이 샤오 장 가지고있는 경우 N 빈 음료수 병을 음료수 병은 음료의 최대 수를 변경할 수 있습니까?
(10) 테스트 케이스를 함유하는 입력 파일은 오직 양의 정수로서, 라인 당 각각의 데이터 로서 N- . (1 <= N- <= 100), 빈 병 기상 장 손의 수를 나타낸다. N- 형 = 0 입력의 끝을 나타내는, 프로그램은이 라인을 처리해서는 안된다.
각 시험, 출력 라인, 음료까지의 병을 나타낸다. 당신이 0보다 작은 한 병을 마시면 출력됩니다.
3 10 81 0
1 5 40
수입 java.util.Scanner;
공용 클래스 주요 {
공공 정적 무효 메인 (문자열 인수는 []) {
= 새로운 스캐너 (System.in)의 스캐너;
[η] = 새로운 INT [10] int로;
INT 인덱스 = 0;
INT 않음;
반면 (TRUE) {
N = in.nextInt ();
(N == 0)의 경우,
중단;
경우 (N % 2! = 0) {
A [지수 = (N-1) / 2;
}
다른 {
A [지수 = N / 2이고;
}
인덱스 ++;
}
대 (INT의 J = 0; J <a.length; J ++) {
경우 (a [J]! = 0)
에서 System.out.println (a [J]);
}
}
}