๐Ÿงฉ Algorithm/[BOJ] Silver

BOJ 2312๋ฒˆ : ์ˆ˜ ๋ณต์›ํ•˜๊ธฐ (Python/Silver 3)

devCloud 2023. 9. 24. 20:23
728x90
 

2312๋ฒˆ: ์ˆ˜ ๋ณต์›ํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์–‘์˜ ์ •์ˆ˜ N (2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net


์„ค๋ช…

์–‘์˜ ์ •์ˆ˜ N์„ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ์ธ์ˆ˜์™€ ์ธ์ˆ˜์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

Solution

#20:00 - 20:08
#์–‘์˜ ์ •์ˆ˜ N์„ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด๋ผ
#๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ฝ”๋“œ

import sys
input = sys.stdin.readline 

def res(n):
    for i in range(2, n + 1): 
        cnt = 0 #์ธ์ˆ˜๊ฐ€ ๊ณฑํ•ด์ง„ ํšŸ์ˆ˜ ์ดˆ๊ธฐํ™”
        while n % i == 0: #์ •์ˆ˜ n์ด i๋กœ ๋‚˜๋ˆ„์–ด์ง€๋ฉด
            cnt += 1 #์ธ์ˆ˜๊ฐ€ ๊ณฑํ•ด์ง„ ํšŸ์ˆ˜ ์นด์šดํŠธ
            n /= i #๋ชซ์„ n์— ์ €์žฅ
            if n % i != 0: #์—ฌ๊ธฐ์„œ ํŒ๋‹จํ•˜๊ธฐ, ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ํ˜„์žฌ ์ธ์ˆ˜์™€ ๊ณฑํ•ด์ง„ ํšŸ์ˆ˜ ์ถœ๋ ฅ
                print(i, cnt)

for _ in range(int(input())):
    n = int(input())
    res(n)
728x90