Sekitar tahun 1637, Pierre de Fermat menulis di tepi salinan Arithmetica-nya:
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.
Sayangnya bagi kami, margin masih terlalu sempit untuk memuat buktinya. Hari ini, kita akan menulis ke dalam margin sebuah program sederhana yang mengkonfirmasi bukti untuk input sewenang-wenang.
Tantangan
Kami menginginkan program untuk fungsi yang memberikan daya, pisahkan menjadi dua pasang dua kekuatan yang sedekat mungkin dengan kekuatan. Kami ingin program yang melakukan ini sekecil mungkin sehingga dapat masuk ke dalam margin.
Memasukkan
Kekuatan dan jumlah tenaga: c
,x
Kendala: c > 2
danx > 2
Input dapat melalui argumen program, argumen fungsi, atau dari pengguna.
Keluaran
String sebenarnya ini: " a^x + b^x < c^x
" dengan a
, b
, c
, dan x
diganti dengan nilai-nilai integer literal mereka. a
dan b
harus dipilih sehingga a^x + b^x < c^x
dan tidak ada nilai lain a
atau b
akan membuatnya lebih dekat c^x
. Juga:a>=b>0
Output dapat melalui nilai pengembalian fungsi, stdout, disimpan ke file, atau ditampilkan di layar.
Contoh:
> 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
Karena kemampuan menulis rata-rata Fermat, karakter yang tidak patut tidak diizinkan. Program dengan jumlah karakter paling sedikit menang.
Papan peringkat
Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
## Language Name, N characters
Atau, Anda dapat mulai dengan:
## Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
## Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat tautan nama bahasa yang kemudian akan muncul di cuplikan papan peringkat:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
x
, lalu c
?
a>=b>0
atau contoh pertama Anda tidak valid. Dan mengapa kita harus ditampilkan<
ketika Anda menginginkannya<=
?