π‘ 쑰건
- λ°μ§λ¦μ΄ 1μΈ μ μμλ μ’μμ΄ 1κ°, λ°μ§λ¦μ΄ 2μΈ μ μμλ μ’μμ΄ 2κ°, μ΄λ° μμΌλ‘ λ°μ§λ¦μ΄ D μΈ μ μμλ μ’μμ΄ D κ°κ° μλ€.
- 무λμμ μ νν λΆμͺ½ λ°©ν₯μλ λͺ¨λ μλ€μ μ’μμ΄ μμΌλ©°, νλμ μ μμ μλ μ’μλ€μ λμΌν κ°κ²©μ λκ³ λ°°μΉλμ΄ μλ€.
- 곡μ°μ λ°μ§λ¦μ΄ D1λ³΄λ€ κ°κ±°λ ν¬κ³ , D2(D1 β€ D2)λ³΄λ€ κ°κ±°λ μμ μλ€μ λ°°μΉλ μ’μλ§μ νμ©νλ €κ³ νλ€.
- μ’μμ μ μΌλ‘ κ°μ£Όνμ λ, λ€λ₯Έ μ’μμ μν΄ λ¬΄λ μ€μ¬μ΄ κ°λ €μ§λ μ’μμ μ¬μ©νμ§ μκ³ , κ·Έλ μ§ μμ μ’μμ λͺ¨λ μ¬μ©νλ€.
- μ«μλ μμ λ°μ§λ¦μ λνλ΄κ³ , βμ 곡μ°μ μ¬μ©λλ μ’μ, βμ 곡μ°μ μ¬μ©λμ§ μλ μ’μμ λνλΈλ€.
μμ λ°μ§λ¦ D1κ³Ό D2κ° μμ μ μλ‘ μ£Όμ΄μ§λ€. λ¨, 1 β€ D1 β€ D2 β€ 2,000μ΄λ€.
- μν, μ μλ‘ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin
from math import gcd
def solve():
a, b = map(int, stdin.readline().split())
arr = [[0] * b for _ in range(b)]
ans = 0
for i in range(a, b + 1):
for j in range(1, i + 1):
g = gcd(i, j)
x, y = i // g, j // g
if not arr[x-1][y-1]:
arr[x-1][y-1] = 1
ans += 1
print(ans)
solve()
π μμ λ° μ€νκ²°κ³Ό
μμ
3 6
μ€νκ²°κ³Ό
12
β¨οΈ λ¬Έμ νμ΄
- D1λΆν° D2κΉμ§ μννλ©΄μ μ리 μ°ΎκΈ°
- 1λ²λΆν° iκΉμ§ μ’μμ μ°Ύμμ μ΅λ곡μ½μλ₯Ό ꡬνκ³ νμΈνκ³ μλ μ리λ€μ μ΅λ곡μ½μ gλ‘ λλμ΄μ€λ€.
- νμΈνλ €λ μλ¦¬κ° μ΄λ―Έ μ΄λκ°μ κ°λ €μ Έ μλ€λ©΄ pass, μλλ©΄ ans += 1
πΎ λλμ
- λ¬Έμ λ₯Ό μ΄λ»κ² νμ΄μΌν μ§ μμ κ°μ΄ μ€μ§ μμμ λ¬Έμ μ ν΄μ€μ λ³΄κ³ νμμ΅λλ€.
- μνμ κ΄λ ¨λ λ¬Έμ λ₯Ό λ§μ΄ μ΄λ €μνλ κ² κ°μ΅λλ€.