알고리즘 기초 - 25 ( 더하기 사이클 )
Algorithm/풀었던문제 2019. 12. 25. 13:00숫자가 주어졌을 때, 그 숫자의 일의 자리와 십의 자리를 더하고, 더한 숫자의 일의 자리와 더하기 전 숫자의 일의 자리수를 더해서 다음 수를 만든다.
(이것이 1사이클) 이라고 할 때, 총 몇사이클이 나오는지 계산하는 문제
Main.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package Problem25; import java.util.Scanner; public class Main { public static void main(String[] args) { //N이 주어졌을 때 N사이클의 길이 구하기 //N입력 System.out.println("숫자를 입력하세요."); int number; Scanner scan = new Scanner(System.in); number = scan.nextInt(); //숫자를 따로 저장해놓음 (반복문 탈출할때 사용하기 위함) int re_number = number; //임시변수 //일의 자리와 십의자리수를 더한 수가 들어가 있음 int tmp = 0; //최종 사이클의 갯수를 나타내는 변수 int cnt = 0; //최소 1회전사이클을 돌려야 하므로 do while를 사용한다. do { tmp = re_number / 10 + re_number % 10; re_number = re_number % 10 * 10 + tmp % 10; cnt++; }while(number != re_number); System.out.println("사이클의 수: "+cnt); } } | cs |
출력 결과
출처
https://www.youtube.com/watch?v=fP1UTjZ_Yrw&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=26
'Algorithm > 풀었던문제' 카테고리의 다른 글
알고리즘 기초 - 27 ( 달팽이 출력 ) (0) | 2019.12.29 |
---|---|
알고리즘 기초 - 26 ( 상수 비교 ) (0) | 2019.12.29 |
알고리즘 기초 - 24( 평균과 비율 ) (0) | 2019.12.24 |
알고리즘 기초 - 23 ( 문자열 뒤집기 ) (0) | 2019.12.24 |
알고리즘 기초 - 22 ( 팰린드롬 판별 ) (0) | 2019.12.23 |