https://www.acmicpc.net/problem/2292
์ฃผ์ด์ง ์ซ์๊ฐ ๋ฒ์ง์ ์ค์(1)์์๋ถํฐ ๋ช ๋ฒ์งธ ์ค์ ๋ํ๋๋ ์ง๋ฅผ ์ฐพ์์ผ ํ๋ ๋ฌธ์ ์ด๋ค.
์ํ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ท์น ๋ถํฐ ์ฐพ์๋ณด์๋ค.
์ซ์(N) | ๋ต | ๊ท์น(๋ง์ง๋ง ์์ ๊ด๋ จ๋) |
1 | 1 | 1 + 6 * 0 |
2 ~ 7 | 2 | 1 + 6 * 0 + 6 * 1 |
8 ~ 19 | 3 | 1 + 6 * 0 + 6 * 1 |
20 ~ 37 | 4 | 1 + 6 * 0 + 6 * 1 + 6 * 2 |
38 ~ 61 | 5 | 1 + 6 * 0 + 6 * 1 + 6 * 2 + 6 * 3 |
... | ... | ... |
์ฒซ ๋ฒ์งธ ์ค์๋ 1๊ฐ, ๋ ๋ฒ์งธ ์ค์๋ 6๊ฐ, ์ธ ๋ฒ์งธ ์ค์๋ 12๊ฐ, ๋ค ๋ฒ์งธ ์ค์๋ 18๊ฐ, ... ์ ์ซ์๊ฐ ๋ฐฐ์น๋๋ ๊ตฌ์กฐ์ ๋ฒ์ง์ด๋ค.
While ๋ฌธ์ ์ฌ์ฉํด์ N์ 6 * a (a = 0๋ถํฐ 1์ฉ ์ฆ๊ฐ)๋ฅผ ๋นผ์ฃผ์๊ณ , N์ด 1๊ณผ ๊ฐ๊ฑฐ๋ ๋ ์์์ง๋ฉด breakํ๋ ์ฝ๋๋ฅผ ์งฐ๋ค.
a = 0
ans = 1
N = int(input())
while True:
N = N - 6*a
if N <= 1:
print(ans)
break
else:
a += 1
ans += 1
๋น์ฐํ ๊ฑฐ๊พธ๋ก 1๋ถํฐ ์ซ์๋ฅผ ๋ํด๊ฐ๋ฉด์ ํ์ด๋ ๊ฐ์ ๋ต์ด ๋์จ๋ค.
ans = 1
n = 1
N = int(input())
while True:
if n >= N:
print(ans)
break
else:
n += ans * 6
ans += 1
'๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1244 ์ค์์น ์ผ๊ณ ๋๊ธฐ - ํ์ด์ฌ (0) | 2022.11.18 |
---|---|
๋ฐฑ์ค 2607 ๋น์ทํ ๋จ์ด - ํ์ด์ฌ (0) | 2022.11.18 |
๋ฐฑ์ค A+B, A-B, A*B, A/B - ์๋ฐ (0) | 2022.04.04 |
๋ฐฑ์ค 1919 ์ ๋๊ทธ๋จ ๋ง๋ค๊ธฐ - ํ์ด์ฌ (0) | 2022.03.26 |
๋ฐฑ์ค 2563 ์์ข ์ด - ํ์ด์ฌ (0) | 2022.03.26 |