Tulis program atau fungsi yang menggunakan bilangan bulat positif. Anda dapat menganggap input tersebut valid dan dapat dianggap sebagai string. Jika nomornya salah
123
234
345
456
567
678
789
maka output truthy nilai. Jika tidak, hasilkan nilai palsu . Misalnya input
1
2
3
12
122
124
132
321
457
777
890
900
1011
1230
1234
semua harus menghasilkan output yang salah. (Input tidak akan memiliki angka nol di depan sehingga Anda tidak perlu khawatir tentang hal-hal seperti 012
.)
Kode terpendek dalam byte menang.
code-golf
number
decision-problem
integer
Hobi Calvin
sumber
sumber
012
?012
akan menjadi palsu tetapi Anda dapat menganggap itu bukan input.Jawaban:
Python, 24 byte
Fungsi anonim yang menghasilkan 0 atau 1. Ini membuat daftar
[123, 234, 345, 456, 567, 678, 789]
dan menghitung berapa kali input muncul.sumber
Python, 24 byte
Hanya banyak kondisi chaining.
sumber
lambda
saya bahkan tidak akan menebak itu adalah Python. Mengerikan sekali.Haskell, 22 byte
Fungsi anonim. Menghasilkan daftar yang berjarak sama
[123, 234, 345, 456, 567, 678, 789]
dan memeriksa apakah input adalah elemen.sumber
Brachylog , 9 byte
Cobalah online! atau Verifikasi semua kasus uji.
Kredit ke Dennis untuk algoritme .
Dalam bahasa Inggris, "(buktikan bahwa) digit pertama Input, digabungkan dengan dirinya sendiri dua kali, tambahkan 12, masih merupakan Input."
sumber
Python 2, 25 byte
Uji di Ideone .
sumber
Brain-Flak 76 + 3 = 79 byte
Jawaban ini adalah golf dari jawaban ini . Saya sebenarnya tidak tahu persis bagaimana jawaban saya bekerja tetapi DJMcMayhem memberikan penjelasan yang baik dalam jawaban aslinya dan jawaban saya adalah modifikasi dari jawabannya.
Dijalankan dengan flag -a ascii yang menambahkan 3 byte.
Penjelasan (macam-macam)
Dimulai dengan solusi kerja asli:
Saya menjalankan ini melalui algoritma golf sederhana yang saya tulis dan dapatkan:
Dari sini saya melihat bagian
<({}[()()()])>{}
ini pada dasarnya dikalikan dengan satu yang membuatnya sama dengan{}[()()()]
mengurangi seluruh kode menjadi:Negatif terakhir dapat digabungkan:
sumber
Brainfuck, 32 byte
Cobalah online!
Penghargaan untuk Lynn untuk inti dari algoritma.
sumber
Jelly , 6 byte
Cobalah online! atau verifikasi semua kasus uji .
Bagaimana itu bekerja
sumber
ast.literal_eval
menyangkut,012
tidak mewakili bilangan bulat .05AB1E , 5 byte
Penjelasan
Cobalah online
sumber
2Å1
bukanXX,
, hanya untuk heck of less command (4 bukannya 5).Å
dapat ditulisi di keyboard saya (yang bertentangan dengan‚
) yang merupakan manfaat :)‚
(bukan yang,
saya gunakan) tidak memiliki urutan tombol penulisan juga, saatÅ
beradaoA
pada keyboard en-US.MATL , 8 byte
Cobalah online!
Ini akan mencetak
1 1
untuk input yang benar, dan sebuah array dengan a0
di dalamnya untuk nilai falsy, karena itu falsy di MATL.Penjelasan:
sumber
d1=Ep4=
(saya belum diuji secara menyeluruh)dTTX=
selama 5 byteT
T
adalah literal yangtrue
, danF
inifalse
. TetanggaT
danF
bersatu, begituTT
pula[true true]
, yang untuk tujuan ini setara dengan[1 1]
. Lihat bagian 4.3 dari specJava 7, 46 byte
Setelah mencoba beberapa hal dengan Leaky Nun dalam obrolan, ini sepertinya yang terpendek. Terkadang Anda hanya perlu melakukan hal-hal dengan cara langsung: /
Penjelasan:
sumber
Perl 6 ,
35 29 24 2119 bytePenjelasan:
Pemakaian:
sumber
Retina , 26
Output 1 untuk truey dan 0 untuk falsey.
Cobalah online (Baris pertama ditambahkan untuk memungkinkan beberapa testcase dijalankan).
sumber
Ruby,
323025 + 2 = 27 byte+2 byte untuk
-nl
bendera.Mengambil input pada STDIN dan mencetak
true
ataufalse
.Lihat di repl.it: https://repl.it/DBn2/2 (Klik ▶ ️ lalu ketik input ke konsol di bawah ini.)
sumber
-a
tidaksplit
, bukanchop
? Juga, apa fungsinya&
? Saya menggunakan Ruby yang lebih lama yang menyebabkan kesalahan. Bagaimanapun, ini bekerja dengan sempurna pada 26 byte tanpa itu.-l
, tidak-a
.&.
adalah operator "navigasi aman", ditambahkan dalam Ruby 2.3. Tanpa itu input seperti19
, yang bukan substring jika"123456789"
, akan memunculkan NoMethodError.Brain-Flak , 99 byte
Cobalah online!
Ini adalah 98 byte kode
+1
untuk-a
flag.Ini mencetak
1
untuk truey, dan salah satu0
atau tidak sama sekali (yang setara dengan 0) untuk falsysumber
...)({}
tetapi bervariasi. Jika Anda mendorong dan meletus tanpa menggunakan nilai, Anda dapat memadatkannya menjadi satu hal. Saya dapat menautkan Anda ke versi kode Anda dengan semua ini di-golf jika Anda mau.Brain-Flak , 114 byte
Cobalah online!
Versi yang benar (dalam semangat pertanyaan): mengambil integer sebagai input, output 0 untuk falsey dan 1 untuk truey.
Ini bukan tumpukan bersih.
Algoritma
Biarkan inputnya
n
.Outputnya benar jika
(n-123)(n-234)(n-345)(n-456)(n-567)(n-678)(n-789)=0
.Saya menghitung tujuh angka tersebut dengan pertama-tama mengurangkan 12 dan kemudian mengurangi 111 7 kali, dan kemudian menghitung double-NOT logis dari tujuh angka itu dan menambahkannya.
Untuk hasil yang benar, jumlahnya adalah 6; untuk hasil falsey, jumlahnya adalah 7.
Kemudian, saya mengurangi jumlah dari 7 dan mengeluarkan jawabannya.
sumber
R,
3022 byteTidak terlalu mengasyikkan; periksa apakah input dalam urutan yang diberikan oleh 12 + 111k, di mana k adalah masing-masing dari 1 hingga 7. Perhatikan bahwa
:
mendahului*
sehingga perkalian terjadi setelah urutan dihasilkan.sumber
C # (Visual C # Interactive Compiler) ,
41 3023 bytePengajuan kode-golf pertama, bersikap lembut :)
Cobalah online!
sumber
return
kata kunci: 30 byteBrainfuck, 43 byte
Bah, aku tidak pandai dalam hal ini. Output
\x01
jika output adalah salah satu string123
,234
, ...,789
; output\x00
sebaliknya.(Saya mengalahkan Java 7, meskipun ...)
Cobalah online!
sumber
[>>]<
? Tidak bisakah itu terjadi>
?JavaScript ES6, 26 byte
n=>1>(n-12)%111&n>99&n<790
Ini mengambil keuntungan dari fakta bahwa saya menggunakan operator logika bit-wise pada apa yang pada dasarnya boolean (yang berbasis bit!)
Terima kasih kepada Titus karena telah menabung 2.
sumber
(n-12)
dann>99
Excel -
62573531 byteBerdasarkan jawaban Anastasiya-Romanova, tetapi mengembalikan
TRUE/FALSE
nilai Excel .Selanjutnya, kita bisa sampai
karena keduanya
RIGHT
danLEFT
mengembalikan satu karakter secara default.Dan, terinspirasi oleh beberapa solusi Python:
Terima kasih kepada Neil untuk 4 byte lagi ...
sumber
N<900
menghemat byte, dalam hal ini Anda juga dapat menggunakanN>99
bukanLEN(N)=3
.=REPT(LEFT(N),3)+12=N
manaN
adalah nama sel referensi.Brachylog (2), 7 byte
Cobalah online!
Penjelasan
Sebagai program penuh, kami mendapatkan pengembalian yang benar jika semua pernyataan tetap, sebuah pengembalian palsu jika ada yang gagal.
sumber
CJam,
139 byteCobalah online!
Penjelasan
sumber
2345
Excel - 104 byte
Penjelasan:
Sintaks untuk rumus IF di Excel adalah:
Jika panjang input
N
, yang merupakan nama sel referensi, kurang dari 3, maka itu akan mengembalikan Falsy . Lain, jika panjang inputN
adalah 3 dan kedua selisih dari digit kedua dan digit pertama dan selisih dari digit ketiga dan digit kedua sama dengan 1, maka itu akan mengembalikan Truthy .sumber
=REPT(LEFT(N),3)+12=N
manaN
adalah nama sel referensi.Dyalog APL , 10 byte
Membawa argumen string.
1 1≡
Apakah {1, 1} identik dengan¯2-/
perbedaan pasangan-bijaksana terbalik⍎¨
setiap karakter diambil sebagai angka?TryAPL online! (
⍎
telah ditiru dengane
alasan keamanan.)sumber
Perl, 18 byte
Termasuk +1 untuk
-p
Jalankan dengan input pada STDIN
123.pl
:sumber
PHP, 31 byte
Periksa apakah digit pertama (angka minus 12) adalah kelipatan dari 111
sumber
PowerShell v3 +, 24 byte
Gunakan trik "kelipatan 111 ditambah 12" yang sama dengan beberapa jawaban lain, tetapi lakukan sebaliknya. Mengambil input
$args[0]
, mengurangi12
, membagi dengan111
, dan memeriksa apakah itu-in
kisarannya1..7
. Menghasilkan nilai true / false Boolean. Membutuhkan v3 + untuk-in
operator.Uji Kasus
sumber
Kode Mesin ARM, 18 byte
Hex dump (little endian):
Ini adalah fungsi yang membutuhkan panjang, pasangan pointer untuk string. Outputnya bergaya bash, output 0 untuk true dan nilai bukan nol untuk false. Dalam C fungsi akan dinyatakan int oneTwoThree (size_t length, char * string). Pengkodean instruksi adalah ibu jari-2, yang memiliki instruksi 2 dan 4 byte. Diuji pada Raspberry Pi 3.
Perakitan tidak serasi:
Skrip pengujian (juga rakitan):
sumber
JavaScript (ES6), 34 byte
Dan satu opsi lagi di JS. Mengambil input sebagai string dan output
0
untukfalse
dan1
untuktrue
.Lihat solusi saya yang lain di sini dan di sini
Cobalah
sumber