Nomor Taksi atau OEIS A011541 adalah angka terkecil yang dapat direpresentasikan sebagai n jumlah yang berbeda dari dua bilangan bulat dadu positif, untuk berturut-turut n .
Anda harus mencetak nomor taksi yang ke- n . Ini harus bekerja untuk setiap n dalam teori.
Namun, karena hanya 6 nomor taksi yang telah ditemukan sejauh ini, tidak akan ada n di atas 6. Jumlahnya 2, 1729, 87539319, 6963472309248, 48988659276962496, 24153319581254312065344
.
Anda tidak diperbolehkan mengkode variabel-variabel ini dengan keras, karena program Anda harus bekerja untuk sembarang n dalam teori.
Jawaban:
Haskell, 60 byte
Cukup mudah. Menghitung berapa banyak cara angka
k
dapat ditulis sebagai jumlah dua kubus. Filter untukk
nomor ini setidaknyan
, dan mengambil yang pertama.Metode sama panjang dengan
until
:sumber
Taksi, 4758 byte
Bahasa apa yang lebih baik untuk menghitung nomor taksi daripada yang mensimulasikan taksi?
Ini sebuah lelucon. Ada banyak bahasa yang lebih baik. Apa yang terjadi pada dua hari terakhir hidupku?
Cobalah online!
Cobalah online tetapi dengan komentar dan jeda baris!
Catatan: TIO dapat menangani input
1
tetapi di2
atas dan menyebabkan masalah batas waktu. Saya menulis potongan kecil untuk mencetak nilai yang diperiksa setiap iterasi dan hanya bangun137
sebelum waktunya habis. Jika seseorang yang tahu apa yang mereka lakukan dapat menjalankannya melalui interpreter (beranda tautan ke versi C ++ ) untuk memverifikasi nilai yang lebih tinggi, saya akan menghargainya. Mungkin butuh waktu yang sangat lama untuk dijalankan.Tidak dikoleksi dengan komentar:
sumber
Trunkers
danRounders Pub
bermain dengan baik dengan integer. Jika Anda menyimpan desimal, Anda hanya mendapatkan 4 array. Plus,Firemouth Grill
ambil nomor dalam urutan acak sehingga keluar jika Anda perlu menjaga pesanan. Sungguh, Anda hanya mendapatkan 2 antrian dan 1 tumpukan. Semoga berhasil.