กำหนดตัวเลขทศนิยมk
ให้หาจำนวนเต็มที่น้อยที่สุดn
ซึ่งสแควร์รูทของn
อยู่ภายในk
จำนวนเต็ม อย่างไรก็ตามระยะทางควรเป็นศูนย์ - n
ไม่สามารถเป็นรูปสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบได้
ป.ร. ให้k
ไว้เป็นจำนวนทศนิยมหรือเศษส่วน (แล้วแต่จำนวนใดจะง่ายสำหรับคุณ) เช่น0 < k < 1
เอาท์พุทจำนวนเต็มบวกที่เล็กที่สุดn
ที่แตกต่างระหว่างสแควร์รูทของn
และจำนวนเต็มที่ใกล้เคียงกับสแควร์รูทของn
น้อยกว่าหรือเท่ากับk
แต่ไม่ใช่ศูนย์ .
ถ้าi
เป็นจำนวนเต็มใกล้เคียงกับรากที่สองของn
คุณกำลังมองหาคนแรกที่n
0 < |i - sqrt(n)| <= k
กฎระเบียบ
- คุณไม่สามารถใช้งานการใช้ตัวเลขที่ไม่ใช่จำนวนเต็มอย่างไม่เพียงพอของภาษาเพื่อทำให้เกิดปัญหาเล็กน้อย
- มิฉะนั้นคุณสามารถสมมติว่า
k
จะไม่ทำให้เกิดปัญหากับตัวอย่างเช่นการปัดเศษทศนิยม
กรณีทดสอบ
.9 > 2
.5 > 2
.4 > 3
.3 > 3
.25 > 5
.2 > 8
.1 > 26
.05 > 101
.03 > 288
.01 > 2501
.005 > 10001
.003 > 27888
.001 > 250001
.0005 > 1000001
.0003 > 2778888
.0001 > 25000001
.0314159 > 255
.00314159 > 25599
.000314159 > 2534463
จุลภาคคั่นอินพุตกรณีทดสอบ:
0.9, 0.5, 0.4, 0.3, 0.25, 0.2, 0.1, 0.05, 0.03, 0.01, 0.005, 0.003, 0.001, 0.0005, 0.0003, 0.0001, 0.0314159, 0.00314159, 0.000314159
นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ