4
คำนวณค่า p-adic norm ของจำนวนตรรกยะ
คำนวณค่า p-adic norm ของจำนวนตรรกยะ เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้จำนวนเต็ม 3 จำนวนm,n,p(ซึ่งpเป็นจำนวนเฉพาะที่เป็นค่าบวก) เป็นอินพุตซึ่งส่งเอาต์พุต p-adic norm (แทนด้วย|m/n|_p) เป็นส่วน (ลดลงอย่างสมบูรณ์) แฟร์มาต์เป็นที่รู้จักกันว่ามีกำไรเพียงเล็กน้อยเท่านั้น แต่สิ่งที่ไม่เป็นที่รู้จักคือเขามีหน้าจอคอมพิวเตอร์ขนาดเล็กมาก ดังนั้นพยายามทำให้รหัสสั้นที่สุดเท่าที่จะเป็นไปได้เพื่อให้พอดีกับหน้าจอของแฟร์มาต์! คำนิยาม กำหนดที่สำคัญpทุกส่วนm/nสามารถเขียนได้โดยไม่ซ้ำกัน (ไม่สนใจสัญญาณ) เป็น(a/b)* p^eเช่นที่eเป็นจำนวนเต็มและpแบ่งค่ามิได้a บรรทัดฐาน p- อำนวยการของการมี มีกรณีพิเศษคือถ้าส่วนเป็น 0:bm/np^-e|0|_p = 0 รูปแบบผลลัพธ์จะต้องx/y(เช่น1/3สำหรับจำนวนเต็มทั้งสอง10หรือเท่ากัน10/1ได้รับอนุญาตสำหรับจำนวนลบจะต้องมีเครื่องหมายลบนำหน้าเช่น-1/3) รายละเอียด โปรแกรมจะต้องใช้ stdin / stdout หรือเพียงแค่ประกอบด้วยฟังก์ชั่นที่ส่งกลับจำนวนเหตุผลหรือสตริง คุณต้องสมมติว่าอินพุตm/nไม่ได้ลดลงอย่างสมบูรณ์ คุณสามารถสันนิษฐานว่าpเป็นนายก โปรแกรมจะต้องสามารถประมวลผลจำนวนเต็มตั้งแต่-2^28ถึง2^28และไม่ควรใช้เวลามากกว่า 10 วินาที ไม่อนุญาตให้สร้างการแยกตัวประกอบและฟังก์ชันตรวจสอบเฉพาะเช่นเดียวกับที่สร้างขึ้นในการแปลงฐานและฟังก์ชันในตัวที่คำนวณค่า p-adic หรือบรรทัดฐาน ตัวอย่าง (ถูกขโมยจากวิกิพีเดีย ): x = m/n = …