Anda harus menulis 3 program dan / atau fungsi dalam satu bahasa.
Semua program ini harus menyelesaikan tugas yang sama tetapi mereka semua harus memberikan hasil yang berbeda (tetapi valid). (Yaitu untuk setiap pasangan program, mereka harus berupa input yang menghasilkan set yang berbeda (tetapi valid) dari nomor-nomor keluaran.)
Tugas
- Anda diberi bilangan bulat
n
, lebih besar dari 1 - Anda harus mengembalikan atau menampilkan bilangan bulat positif yang
n
berbeda , dan tidak ada yang harus dibagin
. - Urutan angka tidak masalah dan permutasi angka tidak dihitung sebagai output yang berbeda.
Triplet program yang valid dengan beberapa input => output
pasangan:
program A:
2 => 5 9
4 => 5 6 9 10
5 => 2 4 8 7 1
program B:
2 => 1 11
4 => 6 9 1 2
5 => 4 44 444 4444 44444
program C (differs only in one number from program B):
2 => 1 13
4 => 6 9 1 2
5 => 4 44 444 4444 44444
Mencetak gol
- Skor Anda adalah jumlah dari panjang 3 program atau fungsi.
- Skor yang lebih rendah lebih baik.
- Jika program / fungsi Anda membagikan kode, kode yang dibagikan harus dihitung dalam panjang setiap program yang menggunakan kode tersebut.
code-golf
number
arithmetic
number-theory
randomra
sumber
sumber
Jawaban:
Pyth,
1716 byte5 byte:
Output:
6 byte:
Output:
5 byte:
Output:
Versi alternatif, dalam urutan meningkat:
-ShQQ
sumber
J, 16 byte
Fungsi 1, 5 byte
Fungsi 2, 6 byte
Fungsi 3, 5 byte
Bagaimana itu bekerja
Fungsi 1
Karena P adalah prima dan P> y , y tidak dapat membagi P e .
Fungsi 2
Jika y membagi P e + y , itu juga akan membagi P e + y - y = P e .
Fungsi 3
Jika y dibagi (y + 1) e beberapa faktor utama Q dari y harus membagi (y + 1) e .
Tapi kemudian, Q akan membagi y dan y + 1 dan, oleh karena itu, y + 1 - y = 1 .
sumber
Dyalog APL,
1617 bytesumber
Vitsy , 54 byte
Program:
Output:
Cara kerjanya (menggunakan program pertama sebagai penjelasan):
Cobalah online!
sumber
Perl, 79
Satu char ditambahkan ke setiap program karena ini membutuhkan
-n
flag.Cukup mudah.
sumber
Mathematica, 12 + 12 + 12 = 36 byte
Tes:
sumber
CJam, 8 + 8 + 8 = 24 byte
Ini adalah tiga fungsi yang tidak disebutkan namanya yang diharapkan
n
berada di tumpukan dan meninggalkan daftar bilangan bulat di tempatnya. Saya tidak yakin ini optimal, tetapi saya harus mencari solusi yang lebih pendek nanti.Suite uji.
Hasil:
Yang pertama juga berfungsi sebagai
atau
sumber
Python 2, 79 byte
Tiga fungsi anonim yang dimulai pada
1
dan dihitung oleh masing-masingn, 2*n, 3*n
untukn
istilah.sumber
Serius, 20 byte
Ya, ini tidak optimal ...
sumber
Par , 16 byte
Pengkodean khusus, yang dijelaskan di sini , hanya menggunakan satu byte per karakter.
Keluaran
sumber
Haskell, 54 byte
Ketiga fungsi ini cukup mudah sehingga ...
sumber
Oktaf, 11 + 13 + 13 = 37 byte
sumber
Python 2, 125 byte
Setiap baris di sini adalah program lengkap. Solusi paling jelas dalam pikiran saya.
EDIT @ Sherlock9 menyimpan dua byte.
sumber
Haskell, 50
Contoh:
sumber
Golfscript, 50
5157byteVersi Golfscript dari apa yang dulunya adalah kode Python quintopia . Setiap fungsi
n
menghilangkan tumpukan.sumber
TI-Basic (TI-84 Plus CE), total
5540 byteSederhana, mirip dengan banyak jawaban lain di sini, masing-masing menampilkan daftar angka (X + A) N +1 untuk rentang X (N) dan dengan program A menjadi yang mana (1, 2, atau 3).
Solusi lama (55 byte):
Sederhana, mirip dengan banyak jawaban lain di sini, masing-masing menampilkan angka (X + A) N +1 untuk rentang X (N) dan dengan program A menjadi yang mana (1, 2, atau 3).
sumber