รับอินพุตของจำนวนเต็มบวกn
เขียนโปรแกรมที่เสร็จสิ้นกระบวนการต่อไปนี้
- ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่มากกว่า
n
สี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบและเป็นการต่อเชื่อมn
และอีกจำนวนหนึ่ง ลำดับของตัวเลขn
อาจไม่สามารถเปลี่ยนแปลงได้ จำนวนตัดแบ่งไปยังการผลิตตารางที่สมบูรณ์แบบอาจจะเรียกว่าn
r_1
- ถ้า
r_1
ไม่ใช่สี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบให้ทำซ้ำกระบวนการข้างต้นด้วยr_1
เช่นเดียวกับอินพุตใหม่เข้าสู่กระบวนการ ทำซ้ำจนกว่าจะเป็นตารางที่สมบูรณ์ชี้แนะr_k
s
sqrt(s)
พิมพ์ค่าของ
สามารถป้อนข้อมูลในรูปแบบใดก็ได้ คุณสามารถสันนิษฐานว่าn
เป็นจำนวนเต็มบวก ถ้าr_k
มีศูนย์นำ (และr_k
≠ 0), ศูนย์สามารถถูกละเว้น
กรณีทดสอบ
นี่คือบางกรณีทดสอบ กระบวนการสาธิตขั้นตอนข้างต้น
Input: 23
Process: 23, 2304, 4
Output: 2
Input: 10
Process: 10, 100, 0
Output: 0
Input: 1
Process: 1, 16, 6, 64, 4
Output: 2
Input: 5
Process: 5, 529, 29, 2916, 16
Output: 4
Input: 145
Process: 145, 145161, 161, 16129, 29, 2916, 16
Output: 4
Input: 1337
Process: 1337, 13373649, 3649, 36493681, 3681, 368102596, 2596, 25969216, 9216
Output: 96
นี่คือรหัสกอล์ฟ ใช้กฎมาตรฐาน คำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ
while x**.5%1:
อาจจะ?