Rantai Golf (Utas Polisi)


13

Ini adalah tantangan Polisi dan Perampok. Untuk utas Perampok, buka di sini .

Polisi punya tiga tugas.
1) Pilih urutan dari OEIS .

2) Pilih bahasa (ini disarankan sebagai golflang, tetapi tidak harus) bahwa, ketika diberi input n, output A(n)(di mana A(n)urutan dipilih) menggunakan semua aturan biasa .
Sebut bahasa ini L A dan kode C A .
Misalnya, Jelly dan Jelly_code .

3) Kemudian, memilih bahasa yang berbeda (ini disarankan untuk menjadi non-golflang, tetapi tidak harus) dan menulis kode yang tidak mengambil input dan output kode C A , lagi mengikuti semua biasa aturan. (Catatan:. Ini dapat dikaburkan kode dan tidak selalu perlu golfed, tapi lagi kode ini adalah mudah akan untuk perampok retak kiriman Anda)
Sebut ini bahasa L B dan kode C B .
Misalnya, Python dan Python_code .

Pengajuan Cop untuk tantangan ini adalah urutan (ditentukan apakah 0 atau 1 diindeks), nama dua bahasa L A dan L B (dan yang mana memecahkan bagian mana), dan byte-count dari C B saja. Jaga kode aktual dari kedua bagian, dan panjang C A , rahasia.

Untuk Cop, tautan ke dokumentasi untuk L A dan L B , atau juru bahasa (atau tautan TIO, karena mencakup keduanya), dihargai tetapi tidak diperlukan.

Tantangannya perampok ini adalah untuk memilih Polisi masuk dan menulis kode C C dalam yang sama L B bahasa yang output beberapa kode dalam yang sama L A bahasa yang memecahkan tugas Oei asli. Panjang C C bisa tidak lebih dari panjang C B seperti yang diungkapkan oleh polisi (meskipun mungkin lebih pendek). Catatan: Kode yang dihasilkan oleh C C tidak tidak harus cocok C A .

Sebagai contoh kita, ini berarti bahwa Perampok harus menulis kode Python yang menampilkan kode Jelly yang memecahkan urutan OEIS asli, dan bahwa kode Python harus tidak lebih dari panjang yang diungkapkan oleh Cop.

Kondisi menang

Jawaban yang belum dipecahkan dalam seminggu dapat membuat solusi mereka terungkap, pada titik mana mereka dianggap Aman . Perhatikan bahwa jika Anda tidak mengungkapkan solusi Anda setelah seminggu, itu masih bisa dipecahkan. Cop dengan jawaban Aman terpendek menang.



Apakah kita menjaga kerahasiaan urutan OEIS?
juniorRubyist

@ juniorRubyist Tidak, Cop harus menyatakan urutan mana yang mereka gunakan, dan apakah itu 0 atau 1-diindeks.
AdmBorkBork

Jawaban:


3

OEIS A000041 , retak oleh produk ETH

Mari kita coba sebaliknya: golflang menghasilkan non-golflang.

a (n) = jumlah partisi n (nomor partisi).

  • a (n) (0-diindeks) dikembalikan oleh fungsi JavaScript (ES6)
  • Program yang menampilkan fungsi JS ditulis dalam Jelly
  • Panjang program Jelly adalah 35 byte

Solusi yang dimaksudkan

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

yang menampilkan

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Retak . Itu cukup menyenangkan, meskipun saya tampaknya telah kehilangan beberapa jam :-)
ETHproduksi

@ EHProduk Bagus! Solusi JS saya menggunakan rentang karakter terbatas sehingga dapat dikompresi sebagai bilangan bulat basis-28 di sisi Jelly.
Arnauld

@ ETHproductions Man, saya seharusnya menghabiskan lebih banyak waktu mengoptimalkan kode JS. Berikut ini adalah solusi 31-byte . ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , dipecahkan oleh DJMcMayhem

Jumlah pembagi ganjil n dikurangi jumlah pembagi genap n (1-diindeks).

  • Program yang menghasilkan a (n) ditulis dalam 05AB1E .
  • Program yang menghasilkan program 05AB1E ditulis dalam Brain-Flak + the -Aflag.
  • Panjang program Brain-Flak adalah 198 byte (jumlah byte tidak termasuk flag).

Perhatikan bahwa saya mungkin dapat dengan mudah memainkan program Brain-Flak dengan menggunakan trik manipulasi tumpukan dan trik kolmogorov-kompleksitas yang saya ketahui, tetapi saya ingin tetap sesederhana ini sebagai karya pertama saya. Semoga beruntung, perampok!

Apa yang ada dalam pikiran saya

05AB1E: ÑÈD<)O(O

Brain-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Saya baru saja selesai
HyperNeutrino

@DJMcMayhem Bagus! Saya akan mencoba sesuatu yang sedikit lebih keras selanjutnya.
Tn. Xcoder

2

OEIS 000035 , dipecahkan oleh betseg

Masalahnya terpecahkan di Proton .
Kode Proton adalah keluaran oleh Python .
Panjang program Python adalah 13 byte .

Sangat mudah untuk pemula (jika Anda tahu Proton: D). Diindeks nol.

Solusi yang Dimaksudkan

Python: print("(2%)")
Proton: (2%)
Meskipun saya memutuskan untuk membiarkan n=>n%2cukup pendek karena pintas fungsi diad / monadik tidak didokumentasikan.


7
Sangat mudah jika Anda tahu bahasa yang tampaknya memiliki nol dokumentasi. Ya bagus
Peter Taylor

3
Mengapa tautan ke A34 ...
user202729


@ user202729 tetap terima kasih
HyperNeutrino

@PeterTaylor tepat nol ada cukup di sini bagi Anda untuk menyelesaikannya ...
HyperNeutrino


1

OEIS A055642 , dipecahkan oleh Lynn

Jumlah digit dalam ekspansi desimal n

Ini mungkin terlalu mudah, tapi butuh beberapa saat, jadi saya berharap seseorang di luar sana akan sama kecewanya seperti ketika saya akhirnya menemukan jawabannya: D

  • Program yang menulis a (n) ditulis dalam 05AB1E
  • Program yang mencetak program 05AB1E ditulis dalam TeX
  • Program TeX adalah 6 byte panjang

Apa yang ada dalam pikiran saya:

Sgsebagai kode 05AB1E
Sg\byesebagai kode TeX



1
@ Lynn ya. Seberapa kecewa Anda?
Simon Klaver

1

OEIS A000668 , dipecahkan oleh Lynn

Mersenne primes (dari bentuk 2 p -1 di mana p adalah bilangan prima)

  • a (n) dihasilkan oleh program penuh Jelly .
  • n diindeks 1.
  • Program Jelly dicetak oleh program Triangularity , yang panjangnya 38 byte .

Strategi berbeda: selesaikan urutannya di sebuah golflang dan hasilkan program dalam esolang.

Solusi yang dimaksudkan


Apakah Anda yakin panjangnya benar? Docs mengatakan program Triangularity harus memiliki panjang 2*n^2 - 1yang tidak boleh 38.
Lynn

1
@ Lynn Itu mengacu pada jumlah karakter , bukan jumlah byte .
Tn. Xcoder

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.