ประมาณปี 1637 ปิแอร์เดอแฟร์มาต์เขียนในขอบของสำเนา Arithmetica ของเขา:
It is impossible to separate a cube into two cubes, or a fourth power
into two fourth powers, or in general, any power higher than the
second, into two like powers. I have discovered a truly marvelous
proof of this, which this margin is too narrow to contain.
น่าเสียดายสำหรับเราขอบยังแคบเกินไปที่จะมีการพิสูจน์ วันนี้เรากำลังจะเขียนโปรแกรมง่าย ๆ เพื่อยืนยันหลักฐานสำหรับอินพุตที่กำหนดเอง
ความท้าทาย
เราต้องการโปรแกรมสำหรับฟังก์ชั่นที่ให้พลังงานแยกออกเป็นสองคู่สองพลังที่ใกล้เคียงกับพลังงานมากที่สุด เราต้องการให้โปรแกรมที่ทำสิ่งนี้มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้เพื่อให้เข้ากับระยะขอบ
อินพุต
พลังงานและจำนวนพลังงาน: c
,x
ข้อ จำกัด : c > 2
และx > 2
อินพุตสามารถผ่านอาร์กิวเมนต์ของโปรแกรมอาร์กิวเมนต์ของฟังก์ชันหรือจากผู้ใช้
เอาท์พุต
นี้สตริงที่แน่นอน " a^x + b^x < c^x
" กับa
, b
, c
และx
แทนที่ด้วยค่าจำนวนเต็มที่แท้จริงของพวกเขา a
และb
จะต้องเลือกเพื่อa^x + b^x < c^x
ไม่ให้มีค่าอื่นใดa
หรือb
จะทำให้ใกล้เคียงc^x
ขึ้น นอกจากนี้:a>=b>0
เอาต์พุตสามารถผ่านค่าส่งคืนฟังก์ชัน stdout บันทึกเป็นไฟล์หรือแสดงบนหน้าจอ
ตัวอย่าง:
> 3 3
2^3 + 2^3 < 3^3
> 4 3
3^3 + 3^3 < 4^3
> 5 3
4^3 + 3^3 < 5^3
> 6 3
5^3 + 4^3 < 6^3
> 7 3
6^3 + 5^3 < 7^3
> 8 3
7^3 + 5^3 < 8^3
เนื่องจากทักษะการเขียนเฉลี่ยของแฟร์มาต์จึงไม่อนุญาตให้ใช้อักขระที่ไม่สามารถพิมพ์ได้ โปรแกรมที่มีจำนวนอักขระน้อยที่สุดจะเป็นผู้ชนะ
ลีดเดอร์
นี่คือตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา
เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้:
## Language Name, N characters
หรือคุณสามารถเริ่มต้นด้วย:
## Language Name, N bytes
ที่N
มีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น
## Ruby, <s>104</s> <s>101</s> 96 bytes
หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของสองไฟล์หรือคุณต้องการแสดงรายการการลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว:
## Perl, 43 + 2 (-p flag) = 45 bytes
นอกจากนี้คุณยังสามารถตั้งชื่อภาษาให้เป็นลิงค์ซึ่งจะปรากฏในตัวอย่างกระดานแต้มนำ:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
x
แล้วc
?
a>=b>0
หรือตัวอย่างแรกของคุณจะไม่ถูกต้อง และทำไมเราต้องแสดง<
เมื่อคุณต้องการให้เป็น<=
?