• toc {:toc}

문제

μ–΄λ–€ μžμ—°μˆ˜ N 이 μžˆμ„ λ•Œ, κ·Έ μžμ—°μˆ˜ N 의 뢄해합은 N κ³Ό N 을 μ΄λ£¨λŠ” 각 자리수의 합을 μ˜λ―Έν•œλ‹€. μ–΄λ–€ μžμ—°μˆ˜ M 의 뢄해합이 N 인 경우, M 을 N 의 μƒμ„±μžλΌ ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 245 의 뢄해합은 256(=245+2+4+5) 이 λœλ‹€. λ”°λΌμ„œ 245 λŠ” 256 의 μƒμ„±μžκ°€ λœλ‹€. λ¬Όλ‘ , μ–΄λ–€ μžμ—°μˆ˜μ˜ κ²½μš°μ—λŠ” μƒμ„±μžκ°€ 없을 μˆ˜λ„ μžˆλ‹€. λ°˜λŒ€λ‘œ, μƒμ„±μžκ°€ μ—¬λŸ¬ 개인 μžμ—°μˆ˜λ„ μžˆμ„ 수 μžˆλ‹€.

μžμ—°μˆ˜ N 이 μ£Όμ–΄μ‘Œμ„ λ•Œ, N 의 κ°€μž₯ μž‘μ€ μƒμ„±μžλ₯Ό κ΅¬ν•΄λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 μžμ—°μˆ˜ N(1 ≀ N ≀ 1,000,000) 이 μ£Όμ–΄μ§„λ‹€.

좜λ ₯

첫째 쀄에 닡을 좜λ ₯ν•œλ‹€. μƒμ„±μžκ°€ μ—†λŠ” κ²½μš°μ—λŠ” 0 을 좜λ ₯ν•œλ‹€.

좜처:https://www.acmicpc.net/problem/2231

<풀이>

λ‹¨μˆœν•˜κ²Œ μΌ€μ΄μŠ€ ν•˜λ‚˜μ”© λŠ˜λ €κ°€λ©΄μ„œ μ°Ύμ•„λ‚΄μ—ˆλ‹€.

β€»λ¬Έμ œ ν™•μ‹€ν•˜κ²Œ 읽을 것! 문제 이해가 μš°μ„ μž„.

#include <iostream>
 
using namespace std;
 
void sumEachDigit(int &sum, int num);
 
int main()
{
	int n, sum, temp;
	cin >> n;
	for(int i=1; i<=n; i++)
	{
		sum=0;
		sum+=i;
		sumEachDigit(sum, i);
		if(sum == n)
		{
			cout << i << endl;
			break;
		}
	}
	if(sum > n)
		cout << 0 << endl;
	return 0;
}
 
void sumEachDigit(int &sum, int num)
{
	while(num!=0)
	{
		sum += num%10;
		num /= 10;
	}
}