Mengingat bilangan bulat positif n
( Contoh:n=1234444999
)
- Pisahkan menjadi digit berturut-turut:
[1, 2, 3, 4444, 999]
- Ambil produk digital dari setiap proses.
[1, 2, 3, 4*4*4*4, 9*9*9] = [1, 2, 3, 256, 729]
- Jumlahkan itu ...
- 991
- Ulangi sampai ini menyatu ke satu nomor:
- 1234444999
- 991
- 82
- 10
- 1
- Kembalikan nomor terakhir.
Uji Kasus
BASE CASES:
0 = 0
...
9 = 9
OTHER CASES:
1234444999 = 1
222222222222222 = 8
111222333444555666777888999000 = 9
11122233344455566677788899 = 8
1112223334445 = 6
14536 = 1
99 = 9
Contoh yang Diminta:
334455553666333
9+16+625+3+216+27
896
8+9+6
23
2+3
**5**
Kemenangan?
Ini kode-golf , byte-count terendah adalah pemenangnya.
11122233344455566677788899
.33445555666333
?Jawaban:
05AB1E ,
765 byteTerima kasih kepada Emigna karena telah menghemat satu byte!
Menggunakan penyandian 05AB1E . Cobalah online!
sumber
gF
denganv
.Jelly, 9 byte
Cobalah online
Begini cara kerjanya:
sumber
€
.Œg
tidak konsisten ketika hanya ada satu kelompok. Apa alasan di balik itu?Mathematica,
5542 byte-13 byte dari @JungHwan Min . Terima kasih!
jika seseorang ingin menggunakan ini sebagai generator acak-digit,
berikut adalah penghitungan angka 100.000 pertama
sumber
Japt ,
171513 byteUji secara online! Mengambil input sebagai string.
Masih belum puas dengan jawaban ini ...
Penjelasan
sumber
x_×
dikombinasikan denganI'm unsatisfied
membuatku tertawa. Terima kasih;).ß
mungkin cara untuk pergi ke sini. Saya salah! (Setidaknya jam setengah lima pagi, saya duduk di bus ke bandara!)Python 3 , 96 byte
Cobalah online!
sumber
Brachylog , 8 byte
Cobalah online!
Penjelasan
sumber
Pyth, 11 byte
Cobalah online. Suite uji.
sumber
PHP , 113 byte
Cobalah online!
sumber
Sekam , 8 byte
Mengambil dan mengembalikan bilangan bulat. Cobalah online!
Penjelasan
Memiliki built-in untuk basis 10 digit akan menyenangkan ...
sumber
JavaScript (ES6),
77736765 byteDisimpan 2 byte berkat @CraigAyre
Bagaimana?
Input s diubah menjadi ekspresi aritmatika dengan:
Misalnya,
1234444999
menjadi+1+2+3+4*4*4*4+9*9*9
.Kami mengevaluasi ungkapan ini dan melakukan panggilan rekursif dengan hasilnya sampai akhirnya menjadi satu angka desimal.
Uji kasus
Tampilkan cuplikan kode
sumber
f=s=>s>9?f(''+eval(s.replace(/(.)\1*/g,s=>'+'+[...s].join`*`))):s
CJam , 22 byte
Cobalah online!
sumber
Haskell ,
1037069 byteCobalah online!
sumber
until(<10)
. Jugamap(read.pure)
dapat dipindahkan sebelumnyashow
, yang menyimpan tanda kurung.$
bukan tanda kurung luar.R ,
114104 bytemembaca dari stdin; mengembalikan jawaban sebagai string.
Cobalah online!
sumber
paste
bukanas.character
. Mantan memaksa inputnya ke dalamcharacter
tipe ;-)MATL, 11 byte
Cobalah di MATL Online
Penjelasan
sumber
Perl 5 , 50 byte
49 byte kode +
-p
bendera.Cobalah online!
sumber
R,
9796 bytePendekatan yang sedikit berbeda dari jawaban lain menggunakan R .
Jawaban ini memanfaatkan
rle
fungsi, yangcompute[s] the lengths and values of runs of equal values in a vector
.-1 byte, terima kasih kepada @Giuseppe!
sumber
**
setara dengan^
Braingolf, 25 byte
Akan menambahkan tautan TIO setelah saya meminta Dennis untuk menarik versi terbaru, karena menggunakan operator serakah di dalam
(...)
loop saat ini rusak pada TIOPenjelasan
sumber
Japt , 19 byte
Cobalah online!
Penjelasan:
sumber