แรงบันดาลใจจากวิดีโอนี้โดย tecmath
ประมาณของรากที่สองของจำนวนใด ๆ ที่x
สามารถพบได้โดยการจำนวนเต็มรากs
(เช่นที่ใหญ่ที่สุดจำนวนเต็มเช่นนั้นs * s ≤ x
) s + (x - s^2) / (2 * s)
และจากนั้นการคำนวณ ให้เราเรียกการประมาณนี้S(x)
ว่า (หมายเหตุ: นี่เทียบเท่ากับการใช้ขั้นตอนเดียวของวิธีการ Newton-Raphson)
แม้ว่านี่จะมีมุมแหลมที่ S (n ^ 2 - 1) จะเป็น√ (n ^ 2) เสมอ แต่โดยทั่วไปมันจะแม่นยำมาก ในบางกรณีที่มีขนาดใหญ่กว่านี้อาจมีความแม่นยำมากกว่า 99.99%
อินพุตและเอาต์พุต
คุณจะใช้หมายเลขหนึ่งในรูปแบบ Convienent ใด ๆ
ตัวอย่าง
รูปแบบ: อินพุต -> เอาท์พุท
2 -> 1.50
5 -> 2.25
15 -> 4.00
19 -> 4.37 // actually 4.37 + 1/200
27 -> 5.20
39 -> 6.25
47 -> 6.91 // actually 6.91 + 1/300
57 -> 7.57 // actually 7.57 + 1/700
2612 -> 51.10 // actually 51.10 + 2/255
643545345 -> 25368.19 // actually 25,368.19 + 250,000,000/45,113,102,859
35235234236 -> 187710.50 // actually 187,710.50 + 500,000,000/77,374,278,481
ข้อมูลจำเพาะ
ผลลัพธ์ของคุณจะต้องถูกปัดเศษเป็นอย่างน้อยหนึ่งร้อยที่ใกล้ที่สุด (เช่นถ้าคำตอบคือ 47.2851 คุณอาจส่งออก 47.29)
ผลลัพธ์ของคุณไม่จำเป็นต้องมีค่าศูนย์ดังต่อไปนี้และจุดทศนิยมหากคำตอบคือจำนวนเต็ม (เช่น 125.00 สามารถแสดงผลเป็น 125 และ 125.0 ได้เช่นกัน)
คุณไม่จำเป็นต้องสนับสนุนหมายเลขใด ๆ ด้านล่าง 1
คุณไม่จำเป็นต้องรองรับอินพุตที่ไม่ใช่จำนวนเต็ม (เช่น 1.52 ฯลฯ ... )
กฎระเบียบ
ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
s + (x - s^2) / (2 * s) == (x + s^2) / (2 * s)