1
재미있는 ICPC 프로그래밍 문제가 있습니다.이 프로그램은 Collatz입니다. 예상 출력에 정확하게 맞는 출력을 얻었습니다. 그러나 나는 원하는대로 -1 -1 입력에 관해서는 프로그램을 끝내는 데 어려움을 겪어왔다.프로그램 종료 -1 -1 입력이 작동하지 않음
샘플 입력
3 100
34 100
75 250
27 2147483647
101 304
101 303
-1 -1
예상 출력
Case 1: A = 3, limit = 100, number of terms = 8
Case 2: A = 34, limit = 100, number of terms = 14
Case 3: A = 75, limit = 250, number of terms = 3
Case 4: A = 27, limit = 2147483647, number of terms = 112
Case 5: A = 101, limit = 304, number of terms = 26
Case 6: A = 101, limit = 303, number of terms = 1
자바 코드
import java.util.Scanner;
import java.lang.Integer;
public class Collatz {
private static int caseNumber = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
caseNumber++;
int a = in.nextInt();
Integer limit = in.nextInt();
if(a == -1 && limit == -1)
break;
int numberOfTerms = 0;
for(Integer value = a; value != 1; numberOfTerms++){
if(value%2 == 0){
value /= 2;
}else{
value = 3 * value + 1;
}
if(limit < value)
break;
}
numberOfTerms +=1;
System.out.println("Case " + caseNumber + ": A = " + a + ", limit = "
+ limit + ", number of terms = " + numberOfTerms);
System.out.println();
}
}
}
저에게 맞습니다. – Aito
실제 출력물을 게시 할 수 있습니까? 그렇다면 우리는 어디에 갇혀 있을지 짐작할 수 있습니다. – mawia
이것은 실제로 나에게 정확한 출력을주고있다. 문제는 프로그램이 종료되지 않는다는 것이다. – Alex