Tugas
Diberikan dua bilangan bulat positif, hasilkan jumlah pengangkutan yang dibutuhkan untuk menambahkannya bersama-sama dalam penambahan panjang di basis 10.
Contohnya
¹¹¹ <-- carries
999
+ 1
----
1000
Dibutuhkan tiga membawa.
¹
348
+ 91
----
439
Dibutuhkan satu carry.
Testcases
999, 1 -> 3
398, 91 -> 1
348, 51 -> 0
348, 52 -> 2
5, 15 -> 1
999, 999 -> 3
505, 505 -> 2
Mencetak gol
Ini adalah kode-golf . Jawaban terpendek dalam byte menang. Celah standar berlaku.
code-golf
arithmetic
Biarawati Bocor
sumber
sumber
190192, 90909
(mengalami istirahat dalam membawa).9+9
memberi Anda18
, tetapi jumlah digit9+9-10+1
karena ada barang bawaan.repr
menambahkanL
angka untuk di atas2**63-1
?Jawaban:
Mathematica,
4639 bytememasukkan
-7 byte dari JungHwan
sumber
JavaScript (ES6), 50 byte
TetapDicuri dari solusi ovsPenjelasan
Bawa penjelasan
sumber
348 , 52
seharusnya2
C (gcc) , 65 byte
Cobalah online!
sumber
Jelly ,
13 12 119 byte-1 byte dengan mem-porting jawaban Matematika Jenny_mathy .
-2 byte lebih banyak dengan bermain golf yang lebih baik: p
Lihat ruang tes .
Bagaimana?
Solusi 12 byte saya ...
Tautan monadik mengambil sepasang bilangan bulat dan mengembalikan jumlah membawa sebagai bilangan bulat.
Mungkin ada cara yang lebih pendek!Disana ada!Cobalah online! atau lihat test suite .
Bagaimana
sumber
D
danS
...Python , 48 byte
Cobalah online!
Untuk setiap nilai tempat
m=1, 10, 100, ..., 10**99
, periksa apakah ada carry di nilai tempat itu. Pemeriksaan melimpaha%m+b%m>=m
disingkat menjadi~a%m<b%m
.Varian 45 byte yang lebih bagus di mana mengapung
a
danb
bergeser ke bawah sebagai gantinyasayangnya mengalami masalah presisi mengambang.
sumber
a+b<m
sebagai kondisi terminating Anda?<=
yang lebih panjang.1e99and
jahat.JavaScript (ES6),
5345 byteDisimpan 1 byte dengan menambahkan iterasi do-nothing ekstra untuk membawa ke tempat 1. Disimpan 7 byte dengan menggunakan cek carry @ xnor. Saya juga memiliki versi 45-byte yang lebih elegan tetapi menderita ketidaktepatan floating-point; itu akan berhasil diterjemahkan ke bahasa dengan aritmatika desimal yang tepat:
sumber
Python 2 , 55 byte
Cobalah online!
sumber
05AB1E ,
1110 byteCobalah online!
sumber
|DO‚€SOÆ9÷
selama 10 byte.Neim , 10 byte
Penjelasan:
Cobalah!
Solusi alternatif, juga 10 byte:
Penjelasan:
Cobalah!
sumber
PHP> = 7.1, 81 Bytes
Menghapus -2 Bytes
|0
Dalam hal ini loop berjalan sampai$i
adalahINF
Uji Kasus
sumber
$i
menjadiINF
?1.0E+309
adalah yang pertamaINF
nilai Cobalah secara online!Braingolf , 20 byte
Cobalah online!
Menggunakan metode yang sama seperti orang lain.
Bisa saja menyelamatkan satu byte atau 2 seandainya saya memiliki pandangan ke depan untuk memungkinkan
d
untuk menggunakan pengubah serakah, maka saya bisa digantid<d
dengan&d
ah juga, lain kali.Penjelasan
sumber