0~99사이의 숫자, N이 입력된다.
각 자릿수의 자연수를 더한다. 더해서 나온 값은 일의 자릿수가 된다.
원래 일의 자릿수에 있던 값은 10의 자릿수가 된다.
여기까지가 하나의 싸이클이다.
N이 다시 N으로 돌아가기 위한 싸이클의 횟수를 구해야 한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int cycle=0;
int newN = N;
while(true){
cycle++;
N = ((N % 10) * 10) + (((N / 10) + (N % 10)) % 10);
if (N==newN){
break;
}
}
System.out.println(cycle);
}
}
KeyPoint
의미없는 값까지 변수로 만들지 않기
'자바 > 문제풀이' 카테고리의 다른 글
[JAVA | 백준 10809 ] 알파벳 찾기 (0) | 2022.05.22 |
---|---|
[JAVA | 백준 1065] 한수 (0) | 2022.05.22 |
[JAVA | 백준 2525 ] 오븐 시계 (0) | 2022.05.21 |
JAVA | 백준 17478 | 재귀함수가 뭔가요? (0) | 2022.05.04 |
JAVA | 백준 10870 | 피보나치 수 (0) | 2022.05.03 |