본문 바로가기

코딩테스트/C++

백준 브루트 포스 알고리즘 2231번 C++

While문에서 각 자리의 숫자를 더해서 그 숫자의 합과 i의 합이 N이 되는 값을 찾도록 했다.

아닐경우엔 sum값이 다시 초기화 되어 다시 다른 숫자를 탐색하도록 했다.(오름차순)

#include <iostream>
using namespace std;

int main() {
	int N;
	cin >> N;
	int ans = 0;
	for (int i = 0; i < N; i++) {
		int sum = 0;
		int num = i;
		while (num != 0) {
			sum += num % 10;
			num /= num / 10;
		}
		if (sum + i == N) {
			ans = i;
			return 0;
		}
	}
	cout << ans;
}