** 2022년 5월 8일에 작성한 글입니다. **
✨1110번 더하기 사이클
🔧 나의 제출 답안
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int f_num, num, a;
int count = 0;
scanf("%d", &f_num);
num = f_num;
while (1) {
a = num / 10 + num % 10;
num = (num % 10) * 10 + a % 10;
count++;
if (f_num == num)
break;
}
printf("%d\n", count);
}
- 입력값( = 초기값 = f_num)을 다른 변수 (= num)에도 저장해준다.
-> why? 나중에 if 문을 이용하여 초기값과 사이클을 돌고 나온 새로운 값이 동일한 값을 가지는지 판단하기 위해서이다.
- a는 새로운 수 (= num)의 십의 자리수와 일의 자리수를 더한 값이다.
- num은 num의 일의 자리수에 10을 곱하고 a의 일의 자리수를 더한 값이다.
- 사이클을 몇 번 돌았는지 판단하기 위해 count++을 작성한다.
- 1번에서 말한 이유인 if문을 이용하여 초기값인 f_num과 새로운 값인 num이 같은지 판단하고 같다면 while문에서 빠져나오고 같지 않다면 다시 사이클을 돈다.
'개발 > C언어' 카테고리의 다른 글
[C언어] 배열 문제 (0) | 2023.04.10 |
---|---|
[C언어 백준] 2884번 알람 시계 (0) | 2023.04.10 |
[C언어 문제] cm를 피트와 인치로 나타내기 (0) | 2023.04.10 |
[C언어 개념] "%7.1f"의 의미 (0) | 2023.04.10 |
[C언어 백준] #1008 A/B (0) | 2023.04.10 |