BOJ/πŸ₯‰

β˜… 정밀도 μ—°μ‚° - 1문제 () β˜…

metamong 2022. 10. 20.

🀾🏻‍♂️ μ»΄ν“¨ν„°λŠ” μ •μˆ˜λŠ” μ™„λ²½νžˆ ν‘œν˜„ν•˜μ§€λ§Œ, μ‹€μˆ˜λŠ” μ™„λ²½νžˆ ν‘œν˜„ν•˜μ§€ λͺ»ν•¨μ„ 항상 μ£Όμ˜ν•΄μ•Ό ν•œλ‹€

 

🀾🏻‍♂️ λ”°λΌμ„œ, μ‹€μˆ˜ κ°„μ˜ μ—°μ‚°μ—μ„œ μ˜€μ°¨κ°€ λ°œμƒν•  수 밖에 μ—†κ³ , 특히 type castingν•  λ•Œ μ˜λ„μ™€ λ‹€λ₯΄κ²Œ λ‹€λ₯Έ 수둜 λ³€ν™˜μ΄ 되기 λ•Œλ¬Έμ— 정말 νŠΉνžˆλ‚˜ 주의!

 

🀾🏻‍♂️ 맀우 κΉŒλ‹€λ‘­κ³ , λ³΅μž‘ν•œ,, γ… γ…  정밀도 μ—°μ‚° κ΄€λ ¨ μœ ν˜•λ§Œ λͺ¨μ•„λ†“μŒ.

β˜… 15128 Congruent Numbers β˜…

 

🀾🏻‍♂️ λ¬Έμ œλŠ” 맀우 간단, μ§κ°μ‚Όκ°ν˜•μ˜ 빗변이 μ•„λ‹Œ 두 λ³€(non-hypotenuse legs) 각각이 λΆ„λͺ¨μ™€ λΆ„μžλ‘œ 주어지고, 두 변이 μ΄λ£¨λŠ” μ§κ°μ‚Όκ°ν˜•μ˜ 넓이가 μ •μˆ˜μΈμ§€, μ•„λ‹Œμ§€μ˜ μ—¬λΆ€λ₯Ό λ”°μ§€λŠ” 문제

 

🀾🏻‍♂️ ν‹€λ¦°λ¬Έμ œ 뢄석 🀾🏻‍♂️

β€» μ•„λž˜μ—μ„œ κ΅¬ν•œ area와 int(area) 같은 지 비ꡐ β€»

 

β‘ 

area = (p1/q1)*(p2/q2)*(1/2)

 

🀾🏻‍♂️ μ‹€μˆ˜ν˜• μ—°μ‚° μžμ²΄μ—λŠ” μ˜€μ°¨κ°€ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— 연산에 맀우 쑰심해야 ν•œλ‹€.

🀾🏻‍♂️ p1/q1 결과의 μ‹€μˆ˜μ™€ p2/q2 결과의 μ‹€μˆ˜λ₯Ό κ³±ν•˜λŠ” κ³Όμ • - μ‹€μˆ˜xμ‹€μˆ˜μ˜ 결과의 μ •ν™•μ„± 보μž₯ x

 

β‘‘

area = (p1/q1)*(p2/q2)/2

 

🀾🏻‍♂️ μœ„ β‘ κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ ν‹€λ¦Ό

 

β‘’

area = p1*p2/q1*q2*2

 

🀾🏻‍♂️ μ—°μ‚°μž 흐름에 μ˜ν•΄ 문제λ₯Ό ν’€μ–΄λ‚΄λŠ” μ—°μ‚° κ³Όμ • μžμ²΄κ°€ ν‹€λ¦Ό

→ *와 /λŠ” μ—°μ‚°μž μš°μ„ μˆœμœ„κ°€ μ—†μœΌλ―€λ‘œ μ’Œμ—μ„œ 우둜 연산이 ν–‰ν•΄μ§€λŠ”λ°, p1μ—μ„œ p2λ₯Ό κ³±ν•˜κ³  q1을 λ‚˜λˆˆ λ’€, κ·Έ κ²°κ³Όμ—μ„œ q2λ₯Ό κ³±ν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ λ‚˜λˆ μ•Ό ν•˜λ―€λ‘œ, 2도 λ‚˜λˆ„μ–΄μ•Ό ν•˜λ―€λ‘œ ν‹€λ¦Ό

 

🀾🏻‍♂️ λ§žλŠ” 풀이 🀾🏻‍♂️

β‘£

area = p1*p2/q1/q2/2

#or

area = p1*p2/q1/q2*(1/2)

 

🀾🏻‍♂️ μœ„ β‘’μ˜ μ—°μ‚°μž μˆœμ„œλ₯Ό λ³΄μ™„ν•œ 것. 각 결과둜 λ‚˜μ˜¨ μ‹€μˆ˜κ°„μ˜ 연산이 μ‘΄μž¬ν•˜μ§€ μ•Šκ³ , μžμ—°μˆ˜ κ°„μ˜ μ—°μ‚° 결과에 계속 μ μš©λ˜λŠ” μ—°μ‚° μˆœμ„œ - 였λ₯˜ x

 

β‘€

area = (p1*p2)/(q1*q2*2)

 

🀾🏻‍♂️ μœ„ β‘‘μ˜ 풀이λ₯Ό λ³΄μ™„ν•œ 것. / μ—°μ‚°μžλ₯Ό 단 ν•œ 번만 μ‚¬μš© - λͺ¨λ“  연산이 μžμ—°μˆ˜ κ°„μ˜ μ—°μ‚°λ§Œ κ°€λŠ₯ν•˜κ²Œ λ§Œλ“¦

 

β‘₯

if (p1*p2) % (2*q1*q2) == 0:
    print(1)
else:
    print(0)

 

🀾🏻‍♂️ λ˜λŠ” *와 %의 μ—°μ‚°μžλ‘œ, μ‹€μˆ˜ λ„μΆœ 없이 κΉ”λ”ν•˜κ²Œ μžμ—°μˆ˜ κ°„μ˜ μ—°μ‚°λ§Œ μ‚¬μš©ν•˜λŠ” 방법이 μžˆλ‹€. (제일 μΆ”μ²œ!)

 

* λΆ€λ™μ†Œμˆ˜μ  였λ₯˜ κ΄€λ ¨ 참고자료) https://www.acmicpc.net/blog/view/37

 

* P.S) μ™œ 브4 λ¬Έμ œμΈμ§€ λͺ¨λ₯΄κ² λ‹€.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

λŒ“κΈ€