๐Ÿค–/๋ฐฑ์ค€

๋ฐฑ์ค€ 4948: ๋ฒ ๋ฅดํŠธ๋ž‘ ๊ณต์ค€ (Python)

sssbin 2021. 9. 1. 14:05

https://www.acmicpc.net/problem/4948

 

4948๋ฒˆ: ๋ฒ ๋ฅดํŠธ๋ž‘ ๊ณต์ค€

๋ฒ ๋ฅดํŠธ๋ž‘ ๊ณต์ค€์€ ์ž„์˜์˜ ์ž์—ฐ์ˆ˜ n์— ๋Œ€ํ•˜์—ฌ, n๋ณด๋‹ค ํฌ๊ณ , 2n๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์†Œ์ˆ˜๋Š” ์ ์–ด๋„ ํ•˜๋‚˜ ์กด์žฌํ•œ๋‹ค๋Š” ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋‹ค. ์ด ๋ช…์ œ๋Š” ์กฐ์ œํ”„ ๋ฒ ๋ฅดํŠธ๋ž‘์ด 1845๋…„์— ์ถ”์ธกํ–ˆ๊ณ , ํŒŒํ”„๋ˆ„ํ‹ฐ ์ฒด๋น„์‡ผ

www.acmicpc.net

 

1929๋ฒˆ ๋ฌธ์ œ์—์„œ ๋ฒ”์œ„ ์ œํ•œ๋งŒ ํ•˜๋ฉด ๋˜๋„ค~ํ•˜๊ณ  ํ’€์—ˆ์ง€๋งŒ ์‹œ๊ฐ„ ์ดˆ๊ณผ๐Ÿ˜ค๐Ÿ’ง

 

while True:
    n = int(input())
    cnt = 0

    if n == 0:
        break

    for i in range(n+1, 2*n+1):
        for p in range(2, int((2*n)**0.5)+1):
            if i % p == 0:
                cnt += 1
                break

    print(n-cnt)

 

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ๊ณ„์† ์†Œ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋‹ˆ๊นŒ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚œ ๊ฒƒ ๊ฐ™๋‹ค!

๊ทธ๋ž˜์„œ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๋ฒ”์œ„ ๋‚ด์—์„œ ์†Œ์ˆ˜๋ฅผ ๋จผ์ € ๋ชจ๋‘ ๊ตฌํ•ด๋†“๊ณ  ๋ฒ”์œ„๋ฅผ ์ œํ•œํ–ˆ๋‹ค

 

num = []

for i in range(2, 246913):
    cnt = 0

    for p in range(2, int(i**0.5)+1):
        if i % p == 0:
            cnt += 1
            break

    if cnt == 0:
        num.append(i)

while True:
    n = int(input())
    res = 0

    if n == 0:
        break

    for i in num:
        if n < i <= 2*n:
            res += 1

    print(res)