import acm.program.*;
public class Hailstone extends ConsoleProgram {
int i = 0;
private void Hail(int a) {
if(a % 2 == 0) { //짝수인 경우
println(a + " is even, so I take half = " + a/2);
a = a/2;
i ++;
Hail(a); // 다시 함수로 돌아간다.
}
else {
if(a == 1) { // 1인 경우
println("The process took " + i +"steps to reach 1.");
}
else { //홀수인 경우
println(a + " is odd, so I make 3n+1 = " + (3a+1) );
a = 3a + 1;
i++;
Hail(a); //다시 함수로 돌아간다.
}
}
}
public void run() {
println("This program computes Hailston sequences.");
int b = readInt("Enter a number: ");
Hail(b);
}
}