Brain-Flak , 410 206 204 178 + 3 = 181 byte
Ini adalah versi 178 byte yang menggunakan -a
flag.
26 byte golf dari DJMcMayhem
Cobalah secara Online
([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>){({}[()]<({}<>)<>>)}{}([]<>[[]]<>){(<{}{}>)}{}({{}<>[{}]<>}<(())>){{}{}((<>))}{}
Ini adalah versi yang lebih panjang 410 byte yang tidak menggunakan -a
flag.
Cobalah secara Online
{(({}))(<((()()()()()){}<>)>)<>{({}[()])<>(({}()[({})])){{}(<({}({}))>)}{}<>}{}<>({}<{}>)<>(<((()()()()()){}(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>)}{}<>([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>){({}[()]<({}<>)<>>)}{}([]<>[[]]<>){{}{}(<>)}{}(([])<>)({<{}>{}<([])>}{}<>[{<{}>{}<([])>}{}]<(())>){{}{}((<>))}{}
Penjelasan
Berikut ini penjelasan tentang solusi yang lebih pendek
Untuk memulai, angka dikonversikan ke semua nilai ASCII oleh -a
bendera.
Kami mendorong ketinggian tumpukan (yaitu jumlah digit) dan membaginya dengan dua.
([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>)
Untuk setiap nomor kurang dari jumlah yang baru saja kami dorong, kami memindahkan satu digit ke tumpukan lainnya
{({}[()]<({}<>)<>>)}{}
Jika ketinggian tumpukan berbeda, kami menghapus item teratas dari tumpukan saat ini
([]<>[[]]<>){(<{}{}>)}{}
Kami ingin perbedaan antara jumlah setiap tumpukan. Jadi kami menggunakan algoritma berikut untuk menjumlahkan setiap tumpukan.
{{}}
Ini mengasumsikan tidak ada digit yang memiliki nilai ASCII nol, yang merupakan asumsi yang valid.
Kami menjalankan ini untuk kedua tumpukan dan mengambil perbedaan (Hal <(())>
ini diperlukan untuk bagian selanjutnya.
({{}}<>[{{}}]<(())>)
Kami sekarang ingin meniadakan jumlahnya. Jika jumlahnya nol, maka akan muncul bagian atas yang memperlihatkan yang kita dorong sebelumnya, jika tidak maka akan menghapus nomor dan yang satu dan menempatkan nol di atas.
{{}{}((<>))}{}
Ë
bukan`Q
?