"Hadiah Nobel dalam bidang matematika dianugerahkan kepada seorang profesor California yang telah menemukan nomor baru! Angka itu berwarna putih, yang ia klaim milik antara 6 dan 7." - George Carlin
Dalam tantangan ini, Anda akan mencetak semua Integer, inklusif, dalam rentang input yang diberikan. Cetak angka naik atau turun sesuai dengan urutan inputnya. Yaitu, untuk input [n1, n2]
, cetak naik jika n1 < n2
, turun jika n1 > n2
.
Karena bleen
sekarang merupakan bilangan integer, dapat digunakan sebagai input. Itu juga harus dimasukkan dalam output, antara 6
dan di 7
mana berlaku. Perhatikan juga bahwa -bleen
ada antara -7 dan -6.
Memasukkan
Dua Integer [n1, n2]
dalam kisaran [-10, 10], inklusif, melalui input pilihan bahasa pemrograman Anda.
(Input juga dapat berisi bleen
dan -bleen
!)
Keluaran
Cetak semua Integer mulai n1
dan diakhiri dengan n2
, termasuk yang baru ditemukan bleen
antara 6 dan 7. Output dapat berupa serangkaian angka yang dipisahkan karakter dalam beberapa bentuk yang didukung bahasa Anda - yaitu, koma atau dipisahkan dengan ruang. Satu ruang tambahan tidak apa-apa.
Contohnya
Input: 1 10
Output: 1 2 3 4 5 6 bleen 7 8 9 10
Input: -9 -4
Output: -9 -8 -7 -bleen -6 -5 -4
Input: -8 bleen
Output: -8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen
Input: 9 1
Output: 9 8 7 bleen 6 5 4 3 2 1
Input: 2 -bleen
Output: 2 1 0 -1 -2 -3 -4 -5 -6 -bleen
Input: -bleen 0
Output: -bleen -6 -5 -4 -3 -2 -1 0
Input: bleen bleen
Output: bleen
Input: 2 2
Output: 2
Catatan tambahan
Anda dapat menulis sebuah program atau fungsi dan menggunakan metode standar apa pun untuk menerima input dan memberikan output.
Anda dapat menggunakan bahasa pemrograman apa pun , tetapi celah standar tidak diizinkan.
Ini adalah kode-golf , sehingga jawaban terpendek yang valid - diukur dalam byte - menang.
Jawaban:
Python 3,
132130 byteMengambil input dalam format contoh berikut:
sumber
[-10,10]
?bleen=7/m
untuk klarifikasi tanpa penalti karaktereval
menerjemahkanbleen
ke dalam nilai yang benar.Ruby,
11410098 byteInput adalah array dengan
[n1, n2]
. (Jika harus berupa dua argumen yang terpisah, +1 byte untuk mengubah fungsi arg darig
menjadi*g
. Bleen harus berupa string"bleen"
,. Output array dari range. Disarankan oleh @Jordan dengan (?) Versi awalnya yang memberikan -7 byte, tapi saya juga bermain golf 7 lagi setelah itu.Cobalah online.
Versi program lengkap asli yang membaca input dari
ARGV
:sumber
.map &:to_s
dan menyimpan 6 byte, dan Anda dapat menyimpan satu lagi dengan mengubah inisialisasia
kea=*-10..10;a[4,0]=?-+b;a[18,0]=b
.->*g{b='bleen';a=*-10..10;a[4,0]=?-+b;a[18,0]=b;x,y=g.map{|v|a.index v};puts y<x ?a[y..x].reverse: a[x..y]}
Pyth , 35 byte
Suite uji.
Bagian pertama, yaitu
K++L\-P_J++`M7"bleen"`M}7TJ
, menghasilkan array ini:dan kemudian menyimpannya di
K
.Bagian kedua, yaitu
@LK}FxLK
, menemukan sublist yang ditunjukkan oleh input.sumber
Python 3,
157145123108115139161158153 byteDisimpan 22 berkat Lynn. 17 disimpan berkat shooqie. 3 disimpan berkat ljeabmreosn. 5 disimpan berkat Geoff Reedy.
Masukan seperti
'-10', '8'
. Tips dipersilahkan untuk pemula.Menambahkan 7 ke akun
-bleen
. Menambahkan 15 ke akun untuk input terbalik seperti'8','-10'
. Ditambahkan besar 21 ke akun untuk tanda-tanda masukan terbalik untukbleen
vs-bleen
.sumber
l.index('-6')
danl.index('7')
seharusnya hanya konstanta, bukan?l=[str(i)for i in range(-10,11)]
->l=list(map(str,range(-10,11)))
l=list(range(-10,11))
berfungsi jugafor i in(4,18):l.insert(i,'bleen')
.'bleen'
daripada'-bleen','bleen'
Ruby, 141 byte
Tidak disatukan
sumber
Batch,
239186 byteBekerja dengan memutar dari
3*%1
ke3*%3
dan kemudian membaginya dengan tiga dan mencetak angka-angka tanpa sisa, namun pengaturanbleen
ke angka ajaib itu menyebabkan integer overflow dan nilainya20
digunakan sebagai gantinya. Ini kemudian dicetak pada titik yang sesuai dalam loop.sumber
-bleen
juga lupa . Bahbleen.bat bleen -bleen
mungkin?JavaScript (ES6), 158
Tantangan yang bagus, sulit untuk bermain golf. Mungkin metode rentang yang digunakan dalam jawaban Python dan Ruby dapat mencetak skor lebih baik bahkan di JS.
Kurang golf
Uji
sumber
Swift 2.2, 342 Bytes
Uji ini menggunakan Swift Sandbox IBM
Tidak disatukan
sumber
Java, 271 byte
Tidak disatukan dengan kasus uji:
Panggilan b (mulai, akhiri). Karena parameternya adalah string, dibutuhkan banyak ruang untuk mengubahnya menjadi int. Pada dasarnya program ini memperlakukan 7 & -7 sebagai pemutih dan -lembut.
sumber
p
dapat diubah sebagai berikut untuk menyimpan 6 bytes:int p(String w){int x=w.length(),i;if(x>3)return x<6?7:-7;i=Integer.decode(w);return i<-6?i-1:i>6?i+1:i;}
. Juga, Anda mungkin ingin menyatakan ini adalah Java 7 dan mungkin menambahkan ideone .Java 7, 251 byte
Pendekatan berbeda yang lebih pendek dari jawaban Java 7 yang sudah ada .
Juga, sangat disayangkan bahwa parameter berpotensi tidak berurutan, yang menambahkan beberapa byte untuk bertukar sekitar.
Kasus yang tidak disatukan & uji:
Coba di sini.
Keluaran:
sumber
Scala, 223 byte
sumber
JavaScript (ES6), 178 byte
Cobalah
EDIT: Perbaiki untuk pemesanan terbalik. Terima kasih Patrick, merindukan kondisi ini
sumber
Python 3, 126 byte
Input ada dalam formulir
-5, 'bleen'
sumber
R ,
110107 byteTerima kasih kepada Cyoce untuk bermain golf 3 byte.
Bangun seluruh daftar secara berurutan, pilih yang relevan. Fungsi di tengah bernama "b" sepertinya cara termudah untuk mewujudkannya. Berlaku, dll
sumber
Javascript (menggunakan perpustakaan eksternal) (343 byte)
Tautan ke lib: https://github.com/mvegh1/Enumerable
Tangkapan layar:
sumber
Python 2, 100 byte
Empat baris pertama menghasilkan daftar
[-10, -9, -8, -7, 'bleen', -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 'bleen', 7, 8, 9, 10]
. Baris berikutnya mendapat input dan menyimpannya dis
dane
. Dua baris terakhir menggunakan.index()
dan daftar notasi pengiris untuk mendapatkan kisaran yang benar.Bekerja dengan cara yang sama dengan jawaban Leaky Nun tetapi berkembang secara mandiri. Mencuri metode input dari orlp.
Tidak Disatukan:
sumber
-7
dan-6
adalah-bleen
, tidakbleen
. Meskipun kami telah menemukan nomor baru, aturan dasar aljabar harus tetap konstan:0
adalah satu-satunya nomor yang kebalikan aditif sendiri, berdasarkan menjadi elemen identitas aditif. Selain itu,eval(input())
hanyainput()
dalam Python 2.