정수 A(0~99)를 입력받으면 다음과 같은 연산을 할 수 있다.
먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다.
그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다.
ex) 26
-> 2 + 6 = 8
-> 68, 6 + 8 = 14
-> 84, 8 + 4 = 12
-> 42, 4 + 2 = 6
-> 26
#include <stdio.h>
int main(void) {
int n;
printf("사이클이 궁금한 숫자를 입력하시오 : "); // 26
scanf_s("%d", &n, sizeof(n));
int num = n;
int cnt = 0; // 몇번 세는 변수
while (1) {
int a = num / 10; // 2
int b = num % 10; // 6
int c = (a + b) % 10; // 8
num = (b * 10) + c; // 68
cnt ++;
if (n == num)
break;
}
printf("%d", cnt);
}
'프로그래밍 > C' 카테고리의 다른 글
C언어 쓰레드 활용 (0) | 2022.04.12 |
---|---|
while문을 사용하여 행과 열 표현하기 (0) | 2022.04.01 |
정수 A를 입력받고 A 번째 줄까지 차례대로 별을 출력하는 프로그램 (0) | 2022.04.01 |
정수 A를 입력받고 1부터 A 까지의 합을 구하는 프로그램 (0) | 2022.04.01 |
입력받은 계산 횟수만큼 반복하는 덧셈 계산기 (0) | 2022.04.01 |