백준 알고리즘(C/C++) - 1110번 더하기 사이클

#include <stdio.h>
int main(void) {
	int a, n, i = 0;
	scanf("%d", &n);
	a = n;
	do {
		a = ((a / 10) + (a % 10))%10 + (a % 10) * 10;
		i++;
	} while (a != n);
	printf("%d\n", i);
	return 0;
}
#include <iostream>
int main() {
	int a, n, i = 0;
	std::cin >> n;
	a = n;
	do {
		a = ((a / 10) + (a % 10)) % 10 + (a % 10) * 10;
		i++;
	} while (a != n);
	std::cout << i;
	return 0;
}

일단 문제를 보면 끝내는 조건이 10의 자리 숫자, 1의 자리 숫자를 더해서 그 값을 추출하고

1의 자리 숫자 *10 + 추출값을 계산해서 원래의 숫자랑 같으면 끝내는 조건 값이다.

 

이 조건만 맞추면 된다.

댓글

Designed by JB FACTORY