https://www.acmicpc.net/problem/17618
๋ฌธ์
ํ์์ ์์ ๋ํ ๊ด์ฌ์ด ๋ง์ ์์ด์ธ ๋ฏผ์ฒ ์ด๋ ์ค๋๋ ๋ ธํธ์ ์ฐํ๋ก ์๋ฅผ ๋ํ๊ฑฐ๋ ๋นผ๊ฑฐ๋ ๊ณฑํ๊ฑฐ๋ ๋๋ ๋ณด๋ฉด์ ์๊ฐ์ ๋ณด๋ด๊ณ ์๋ค. ๊ทธ๋ฌ๋ค๊ฐ 18์ด๋ผ๋ ์๋ ์ ๊ธฐํ ์ฑ์ง์ ๊ฐ์ง๋ค๋ ๊ฒ์ ์์๋๋ค. 18์ ์ด๋ฃจ๋ ๊ฐ ์๋ฆฟ์์ธ 1๊ณผ 8์ ํฉํ 9๋ 18์ ์ฝ์๊ฐ ๋๋ค.
๋ฏผ์ฒ ์ด๋ 18๊ณผ ๊ฐ์ด ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ผ๋ก ๋๋์ด์ง๋ ์๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ ์ฐพ์๋๋๋ฐ, 12, 21๋ ๊ทธ๋ฐ ์ ๊ธฐํ ์์๋ค. ๋ฏผ์ฒ ์ด๋ ์ด๋ ๊ฒ ๋ชจ๋ ์๋ฆฟ์์ ํฉ์ผ๋ก ๋๋์ด์ง๋ ์๋ฅผ “์ ๊ธฐํ ์”๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ก ํ๋ค. ๋ฏผ์ฒ ์ด๋ ๋ ํฐ ์ ๊ธฐํ ์๋ฅผ ์ฐพ์๋ณด๊ธฐ๋ ํ๋๋ฐ 1729๋ ์ ๊ธฐํ ์๋ผ๋ ๊ฑธ ์์๋ด์๋ค. 1729๋ 1+7+2+9=19๋ก ๋๋์ด์ง๋ค.
๋ฏผ์ฒ ์ด๋ ์ ๊ธฐํ ์๊ฐ ์ผ๋ง๋ ๋ง์์ง ์๊ณ ์ถ์๋ค. ์ฃผ์ด์ง ์์ฐ์ N์ ๋ํด N์ดํ์ธ ์ ๊ธฐํ ์๋ ์ด ๋ช ๊ฐ์ธ์ง ๊ถ๊ธํ๋ค. ํ์ง๋ง N์ดํ์ ๋ชจ๋ ์์ ๋ํด์ ์ ๊ธฐํ ์์ธ์ง ์๋์ง๋ฅผ ์์ผ๋ก ์์๋ด๊ธฐ๋ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค.
์ฌ๋ฌ๋ถ์ ๋ฏผ์ฒ ์ด๋ฅผ ๋์ธ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด์ผ ํ๋ค. ์ ๋ ฅ์ผ๋ก 1 ์ด์์ธ ์์ฐ์ N์ด ์ฃผ์ด์ง ๋ N ์ดํ์ธ ์ ๊ธฐํ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ N (1 ≤ N ≤ 10,000,000) ํ๋๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
N ์ดํ์ธ ์ ๊ธฐํ ์์ ๊ฐ์๋ฅผ ์ ์๋ก ์ถ๋ ฅํ๋ค.
ํ์ด
#include <iostream>
using namespace std;
int sum(int n) {
int s=0;
while(n>0) {
s+=n%10;
n/=10;
}
return s;
}
int main() {
int n, ans=0;
cin >> n;
for(int i=1; i<=n; i++) {
if(i%sum(i)==0) {
ans++;
}
}
cout << ans;
return 0;
}
'๐ฆ Chango > ๐ซ First Solve at School' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ B4][C++] ๋ฐฑ์ค 15780๋ฒ: ๋ฉํฐํญ ์ถฉ๋ถํ๋? (0) | 2023.01.09 |
---|---|
[BOJ B4][C++] ๋ฐฑ์ค 5928๋ฒ: Contest Timing (0) | 2023.01.09 |
[BOJ B2][C++] ๋ฐฑ์ค 1731๋ฒ: ์ถ๋ก (0) | 2023.01.05 |
[BOJ B3][C++] ๋ฐฑ์ค 10419๋ฒ: ์ง๊ฐ (0) | 2023.01.02 |
[BOJ B4][C++] ๋ฐฑ์ค 13985๋ฒ: Equality (0) | 2022.12.30 |