Sebuah sama sisi Heronian Segitiga Hampir adalah segitiga dengan panjang integer bentuk n-1
, n
dan n+1
dan juga memiliki daerah integer. Beberapa yang pertama adalah:
3, 4, 5 -> 6
13, 14, 15 -> 84
51, 52, 53 -> 1170
Quest : Hasilkan program terpendek yang menghasilkan n
triple tersebut. (Petunjuk: ini adalah urutan yang dikenal).
Pemenang akan dipilih pada 2 Mei 2014.
Jawaban:
APL,
1514 karakterPendekatan yang sama sebagai solusi alephalpha tetapi menggunakan lantai bukannya istilah koreksi.
Terima kasih untuk algoritme hiu karena menunjukkan bahwa operator perjalanan menghemat satu karakter.
sumber
(⍳3)
menyimpan char0 1 2
, dan saya cukup yakin Anda dapat menggunakan Commute untuk membuatnya⎕*⍨2+√3
dan menyimpan yang lain.⍳3
hasil1 2 3
dan dengan demikian satu char lebih lama.Mathematica,
26, 22, 1618 karaktersumber
GolfScript (
2421 karakter)Mengambil input pada stdin, memberikan output ke stdout dalam formulir
Demo online
Perhatikan bahwa saya berasumsi bahwa elemen ke-0 dari urutan adalah
[1 2 3]
(dengan area 0), yang menurut saya konsisten dengan OEIS A003500 .Dengan terima kasih kepada Howard untuk penghematan 3-char.
sumber
(.).)]
dua karakter lebih pendek. Selain itu, jika Anda mulai dengan2 4
Anda dapat mengganti\;
dengan;
dan menyimpan yang tambahan.2 4
dan diperlakukan[3 4 5]
sebagai elemen ke-0, jadi saya malu untuk tidak melihat cara alternatif untuk mengeksploitasi offset. Terima kasih.GNU dc ,
3019 byteIni menggunakan trik yang sama dengan jawaban @ Howard APL sehingga hanya satu istilah yang harus dihitung. Mengambil input untuk n dari stdin.
Keluaran:
sumber
Python 77
Cukup implementasi verbose di Python
sumber
N
dengan suatu nilai? Program Anda tidak meminta input apa pun.Python 3, 83 karakter
Ini menggunakan solusi rekursif, memanfaatkan fakta bahwa (kutipan dari Wikipedia ):
sumber
JavaScript (ECMAScript 6) - 52 Karakter
Menentukan fungsi rekursif
f
yang mengembalikan suku ke- n dan fungsig
yang mengembalikan array yang mengandung triple.JavaScript - 41 Karakter
Diharapkan istilah yang akan dihitung akan disimpan dalam variabel global
x
dan output triple ke konsol.sumber
CJam, 13 byte
Versi pertama CJam adalah 10 hari lebih tua dari tantangan ini, tetapi saya tidak tahu apakah semua fitur yang saya gunakan telah ada saat itu. Tantangannya secara resmi ditutup, jadi ...
Uji di sini.
Penjelasan
sumber