[ 2023-03-17 ๐ŸŒฆ๏ธ TIL ]

Burkeyยท2023๋…„ 3์›” 17์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
61/157

๋ฐฑ์ค€ 17087๋ฒˆ

S = 3 ์ด๊ณ 
N์ด ๊ธฑ๊ธฑ 1 7 11์œผ๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ๋Š” ์ถœ๋ ฅ ๊ฐ’์ด 2์ด๋‹ค.

๊ฐ๊ฐ ๋™์ƒ์˜ ์œ„์น˜(=N)์—์„œ ์ˆ˜๋นˆ์˜ ์œ„์น˜(=S)๋ฅผ ๋บ€ ๊ฑฐ๋ฆฌ๋“ค์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์œ„์˜ ์ž…๋ ฅ์œผ๋กœ ๋ณด๋ฉด
๋™์ƒ๋“ค๊ณผ์˜ ๊ฑฐ๋ฆฌ๋Š” 2, 4, 8์œผ๋กœ ๋‚˜์˜ค๊ณ  ์ด ์…‹์˜ ๊ณตํ†ต ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด๋œ๋‹ค.

import sys

input = sys.stdin.readline

n, s = map(int, input().split())
n_li = list(map(int, input().split()))


def gcd(n, m): #์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜
    big = small = mid = 0
    result = 0
    if n > m:
        big = n
        small = m
    else:
        big = m
        small = n

    while True:
        mid = small
        small = big % small
        big = mid
        if small == 0:
            result = big
            break
    return result


dis = []
for i in range(n):
    dis.append(abs(s-n_li[i])) # ๋™์ƒ๊ณผ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ ˆ๋Œ“๊ฐ’์„ ๋ถ™์—ฌ์„œ ๊ตฌํ•œ๋‹ค.

com = dis[0]
for i in range(1, n):
    com = gcd(dis[i], com) # ๋‚˜๋ชจ์ง€ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ
    
print(com)

์˜ค๋Š˜ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ๊ตฌ๊ธ€๋ง์„ ํ•˜์—ฌ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๊นŒ์ง€๋Š” ์ ‘๊ทผํ•˜์˜€๋Š”๋ฐ..
๊ทธ ๋‹ค์Œ์Œ ๋ฐฉํ–ฅ์œผ๋กœ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•ด์„œ..ใ…  ์ž˜ ํ’€๋ฆฌ์ง€ ์•Š์œผ๋‹ˆ๊น ๋” ํ•˜๊ธฐ ์‹ซ์–ด์ง€๊ณ  ๊ฒŒ์„๋Ÿฌ์ง„๋‹ค. ใ… ..๐Ÿ˜ซ
์š”์ฆ˜ ๋“ค์–ด ์ง‘์ค‘ํ•ด์„œ ๋ฌธ์ œ ํ’€๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํž˜๋“ค๋‹ค..

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€