Ini adalah jenis tantangan baru yang terinspirasi oleh Memulihkan masalah kode sumber yang termutasi .
Anda harus menulis dua program atau fungsi, keduanya dalam bahasa yang sama. Yang pertama harus menyelesaikan Tugas # 1 dan yang kedua harus menyelesaikan Tugas # 2.
Skor Anda akan menjadi jumlah dari program yang lebih panjang dan jarak Levenshtein antara dua kode sumber program. Skor yang lebih rendah lebih baik sehingga Anda harus mencoba membuat dua solusi yang sama sambil menjaga panjang pendeknya program.
Tugas 1
Anda diberi bilangan bulat positif N
dan Anda harus output Collatz urutan dari N
yang dipisahkan oleh spasi atau baris baru. Pemisah trailing diperbolehkan.
Elemen pertama dari urutan Collatz adalah N
. Sisa dari unsur-unsur yang dihasilkan berdasarkan penerus mereka :
Segera setelah urutan mencapai 1
tidak ada elemen baru yang dihasilkan.
Input => Output contoh:
6 => 6 3 10 5 16 8 4 2 1
8 => 8 4 2 1
1 => 1
Tugas # 2
Sepasang prima kembar adalah sepasang bilangan bulat positif yang selisihnya 2 dan keduanya adalah bilangan prima.
Anda diberi bilangan bulat positif N
dan Anda harus menampilkan pasangan bilangan prima kembar terkecil di mana kedua bilangan prima lebih besar dari bilangan prima yang lebih N
kecil dan dua bilangan prima harus dipisahkan oleh spasi atau baris baru. Pemisah trailing diperbolehkan.
Input => Output contoh:
6 => 11 13
42 => 59 61
1 => 3 5
Cuplikan untuk menghitung skor
(Modifikasi yang ada di Pulihkan masalah kode sumber yang dimutasi .)
Edit
Di tajuk jawaban, mari gunakan format
[Language], [longer length] + [distance] = [final score]
.
Misalnya
Python 2, 60 + 32 = 92
3 5
input 3 pada pasangan prima. Seharusnya output5 7
.05AB1E , 14 +
13109 =272423Skor -4 berkat ASCII saja
Urutan collatz (14 byte):
Cobalah online!
Bilangan prima kembar (14 byte):
Cobalah online!
Golfed Twin primes (11 bytes):
Cobalah online!
sumber
,,
, dan mengapa hanyaÐ,
bekerja di sana)Java 8, 118 + 84 = 202
Collatz:
Bilangan prima kembar:
sumber
Mathematica, 53 + 29 = 82
Urutan Collatz:
Program primes kembar:
sumber
> <> , 116 + 86 = 202
Program Collatz (46):
Program primes kembar (116):
Aduh. Kedua program mulai dengan
atoi
fungsi yang sama , tetapi setelah itu bilangan prima kembar menurun. Bagian kode yang sama diulang dua kali untuk pemeriksaan awal - mungkin sedikit lebih pendek untuk menggunakan kembali bagian tersebut, tetapi pengaturan untuknya tidak akan menghemat banyak byte.Bisa melakukan jauh lebih baik dengan melemparkan setengah bagian belakang bilangan prima kembar ke tempat-tempat yang tidak terpakai dari program Collatz, tetapi saya tidak yakin apakah itu diizinkan.
sumber
C ++ Jarak = 114 Panjang lagi = 155 Skor = 269
Tugas 1
Tugas 2
Tugas 2 ditingkatkan
sumber
int p(int x){int z=0;for(int i=2;1<x;i++){cout<<x<<' ';x=(x%2==0)?x/2:x*3+1;}cout<<x;return z;}