https://www.acmicpc.net/problem/2231
사고과정)
심플하다. 그냥 해당 수 + 각 자리의 숫자 더하면 된다.
주의할 점이라면 반복문에서 선언한 i를 식으로 활용하면 i 값이 변경되서 반복문이 이상해지므로
index라는 새로운 변수를 선언해주었다.
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int N;
cin >> N;
for (int i = 1; i < N; i++)
{
int index = i;
int sum = i;
while (index != 0)
{
sum = sum + index % 10;
index = index / 10;
}
if (sum == N)
{
cout << i;
return 0;
}
}
cout << 0;
return 0;
}
'백준 문제풀이 > 브론즈2' 카테고리의 다른 글
백준 2309번 - 일곱 난쟁이 (브루트포스) (0) | 2022.01.16 |
---|---|
백준 2798번 - 블랙잭 (0) | 2021.12.17 |
백준 2292번 - 벌집 (0) | 2021.11.30 |
백준 10809번 - 알파벳 찾기 (0) | 2021.11.25 |
백준 1173 - 운동 (0) | 2021.11.10 |