문제
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
package baekjoon_4;
import java.util.Scanner;
public class While {
public static void main(String[] args) {
//get start number
System.out.print("첫번째 숫자를 입력하세요:");
Scanner input = new Scanner(System.in);
int num0 = input.nextInt();
int N = num0;
while(N < 0 || N > 99) {
System.out.print("첫번째 숫자를 다시 입력하세요:");
num0 = input.nextInt();
N = num0;
}
//count the length of cycle
int num1 = 0;
int num2 = 0;
int num3 = 0;
int count = 0;
while(N != num0 || count == 0) {
count++;
num1 = num0/10;
num2 = num0%10;
num3 = (num1 + num2)%10;
num0 = num2*10 + num3;
}
//print the length of cycle
System.out.println(count);
}
}
'알고리즘 문제풀이 > JAVA 알고리즘 문제풀이' 카테고리의 다른 글
백준(BaekJoon) 2577번 1차원 배열_숫자의 개수 (0) | 2020.03.23 |
---|---|
백준(BaekJoon) 10818번 1차원 배열_최소, 최대 (0) | 2020.03.21 |
백준(BaekJoon) 2753번 IF문_윤년 (0) | 2020.01.23 |
백준(BaekJoon) 1330번 IF문_두 수 비교하기 (0) | 2020.01.21 |
백준(BaekJoon) 10871번 FOR문_X보다 작은 수 (0) | 2020.01.19 |