๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Coding Test/๋ฐฑ์ค€(BOJ)

[BOJ] ๋ฐฑ์ค€ #4673. ์…€ํ”„ ๋„˜๋ฒ„

๐ŸŽจ ๋ฌธ์ œ

๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/4673

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜: ์ˆ˜ํ•™, ๊ตฌํ˜„, ๋ธŒ๋ฃจํŠธํฌ์Šค
  • ๋‚œ์ด๋„: Silver 5

 

๐Ÿ’ฌ ํ’€์ด

///////

 

L26์—์„œ n๊ณผ d(n)์ด ๋น„๋ก€ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ๋ฏ€๋กœ if(n>MAX) break;๋ฅผ ํ•˜๋ฉด ํ‹€๋ฆฐ๋‹ค.  ๐Ÿ‘‰๐Ÿป ํ‹€๋ฆฐ ์ฝ”๋“œ ํ™•์ธ

 

 

 

 

๐Ÿ‘ฉโ€๐Ÿ’ป ์ฝ”๋“œ

C++

#include <iostream>
using namespace std;
#define MAX 10001

bool self_num[MAX];

int d(int n) {
	int res = n;
	int t = n;
	while(t) {
		res += t%10;
		t /= 10;
	}

	return res;
}

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	fill_n(self_num, MAX, true);	
	
	for (int i = 1; i < MAX; i++) {
		int n = d(i);
		if(n < MAX) self_num[n] = false;
	}
	
	for (int i = 1; i < MAX; i++) {
		if(self_num[i]) cout << i << '\n';
	}

	return 0;
}