Algorithm

[๋ฐฑ์ค€ 4375] 1

osean 2023. 4. 23. 20:00

๋ฌธ์ œ

 

4375๋ฒˆ: 1

2์™€ 5๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ •์ˆ˜ n(1 ≤ n ≤ 10000)๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ n์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

2์™€ 5๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ •์ˆ˜ n(1 ≤ n ≤ 10000)๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ n์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , n์ด ์ฃผ์–ด์ง„๋‹ค.

1๋กœ ์ด๋ฃจ์–ด์ง„ n์˜ ๋ฐฐ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์˜ ์ž๋ฆฌ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

 

๊ณต์œ  ์†Œ์Šค ๋ณด๊ธฐ

 

www.acmicpc.net

์•„์ด๋””์–ด

  • 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;
}