더하기 사이클(1110)
원래 수로 돌아올 때까지 연산을 반복하는 문제
문제
입력
출력
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int ten, one, tmp=0, rone, count=0;
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
tmp = n;
// int ten = n/10;
// System.out.println(ten);
// int one = n % 10;
// System.out.println(one);
// int tmp = ten + one;
// int rone = tmp%10;
// System.out.println(rone);
// tmp = one*10+rone;
// System.out.println(tmp);
//이렇게까지는 다음 수가 정상적으로 나옴
while(true){
ten = tmp / 10;
one = tmp % 10;
tmp = ten+one;
rone = tmp%10;
tmp = one*10 + rone;
count++;
if(tmp == n) break;
}
System.out.println(count);
}
}while문 내부
새로운 수를 만드는 과정
-> 이렇게 과정을 거치고 나면 사이클이 한번 돈 것이니까 count를 하나 늘려준다
-> 만약 생성된 새로운 수가 처음 입력한 수와 같다면 무한 루프를 종료시켜야 하기 때문에 if문으로 처리
*여기서 tmp이라는 변수를 사용한 이유는
Last updated