๋ฌธ์
2์ 5๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์ ์ n(1 ≤ n ≤ 10000)๊ฐ ์ฃผ์ด์ก์ ๋, 1๋ก๋ง ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , n์ด ์ฃผ์ด์ง๋ค.
1๋ก ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์ ์ค ๊ฐ์ฅ ์์ ์์ ์๋ฆฌ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์์ด๋์ด
- 1 ๋ถํฐ cnt ๊น์ง n ์ผ๋ก ๊ณ์ ๋๋๋ ๊ฒ์ cnt ์ ์๊ฐ ๋ณต์ก๋๊ฐ ๋ฐ์ํด ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค.
- ์ต๋ ์ ๋ ฅ๊ฐ์ธ 9999 ์ 1 ๋ถํฐ cnt ๊น์ง ๊ณ์ ๋๋๋ค ๋ณด๋ฉด int ํน์ long long ์๋ฃํ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ cnt ๋ฅผ ๊ณ์ n ์ผ๋ก ๋๋๋ ๊ฒ์ด ์๋๋ผ ํ์ฌ cnt ์ ์ด์ ๋๋จธ์ง ๊ฐ์ n ์ผ๋ก ๋๋๋ฉด ํด๊ฒฐํ ์ ์๋ค.
- ์ฆ, ๋ถ๋ชจ๊ฐ ๋๋ ๊ธฐ์ค๊ฐ์
(cnt % n) * 10 + 1
์ด ๋๋ค. - ์ด์ ๊ฐ์ด ์ด์ ๊ธฐ์ค๊ฐ์ ๋๋จธ์ง๋ฅผ n ์ผ๋ก ๋๋๋ ๋ฐฉ์์ ์ด์ฉํ ๊ฒฝ์ฐ n ์ ๋ฐฐ์๊ฐ int ๋ long long ์ ๋ฒ์๋ฅผ ๋์ด์๋ ๊ฒฝ์ฐ์๋ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ค.
- ์ฆ, ๋ถ๋ชจ๊ฐ ๋๋ ๊ธฐ์ค๊ฐ์
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
int main() {
while (scanf("%d", &n) != EOF) {
ll cnt = 1L, r = 1L;
while (cnt % n != 0) {
cnt = (cnt % n) * 10 + 1;
r++;
}
cout << r << "\n";
}
return 0;
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2468] ์์ ์์ญ (0) | 2023.05.10 |
---|---|
[๋ฐฑ์ค 1012] ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2023.05.08 |
[๋ฐฑ์ค 3986] ์ข์ ๋จ์ด (0) | 2023.04.18 |
[๋ฐฑ์ค 1940] ์ฃผ๋ชฝ (0) | 2023.04.17 |
[๋ฐฑ์ค 1213] ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2023.04.16 |