250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SW 직군
- 공대생 자소서
- 모달진행
- 삼성기출
- 코딩테스트
- 음정이론
- 모드코드
- ableton live 12
- Java
- 취준
- mode chord
- 스케일분석
- 알고리즘
- 삼성SW Expert Academy
- 코드트리
- syncroom
- 평행조
- 음악작곡기초
- DP
- 삼성전자
- 마법사상어와 블리자드
- 무료 악보 프로그램
- 코드차용
- 대중음악화성
- 드럼Tab악보
- 화음분석
- code tree
- 코테
- 화성학응용
- 음계구조
Archives
- Today
- Total
Code Beat
[Code Tree] 더하기 사이클 본문
728x90
0보다 크거나 같고 99보다 작거나 같은 정수가 주어질 때, 다음과 같은 연산을 할 수 있습니다.
- 주어진 수의 각 자리의 수를 더합니다.
- 주어진 수의 일의자리 수와 1번에서 구한 수의 일의자리 수를 이어붙여 새로운 수를 만듭니다.
이러한 연산을 계속 반복하다보면 어느 시점에는 처음 주어진 수로 들어올 수 있습니다.
자연수 n이 주어졌을 때, n의 사이클의 길이를 구하는 프로그램을 작성해보세요.
입력 형식
첫 번째 줄에 n이 주어집니다.
- 0 ≤ n ≤ 99
출력 형식
첫 번째 줄에 n의 사이클 길이를 출력합니다.
입출력 예제
예제1
입력:
55
출력:
3
예제2
입력:
1
출력:
60
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int n1, n2, n3 = -1;
n1 = n;
int cnt = 0;
while(n3 != n){
n2 = (n1 / 10) + (n1 % 10);
n3 = ((n1 % 10) * 10) + (n2 % 10);
n1 = n3;
cnt++;
}
cout << cnt;
return 0;
}
*n이 0일 경우를 대비하여 n3를 -1로 초기화 하고 while 반복문을 시작했다.
728x90
'Code > Code Tree' 카테고리의 다른 글
[Code Tree] 범위 내의 소수 2 (0) | 2024.02.26 |
---|---|
[Code Tree] 거듭제곱을 출력하는 함수 (0) | 2024.02.26 |
[Code Tree] 효율적으로 분배하기 (0) | 2024.02.25 |
[Code Tree] 1까지 나누는 재귀함수 (0) | 2024.02.25 |
[Code Tree] 삼성 SW 역량테스트 기출 풀이 (1) | 2024.02.17 |