Ini tidak memiliki tujuan praktis tetapi bisa menyenangkan untuk bermain golf.
Tantangan
Diberi nomor n ,
- Hitung jumlah setiap digit dalam n dan tambahkan 1 untuk setiap hitungan
- Ambil faktorisasi utama n
- Hitung jumlah setiap digit dalam faktorisasi utama n , tanpa termasuk bilangan prima duplikat
- Buat daftar baru dengan mengalikan bersama masing-masing elemen daftar dari langkah 1 dan 3
- Kembalikan jumlah daftar itu
Misalnya, 121 memiliki dua 1
s dan a 2
, sehingga Anda akan mendapatkan daftar berikut dari langkah 1:
0 1 2 3 4 5 6 7 8 9
1 3 2 1 1 1 1 1 1 1
Faktorisasi utama 121 adalah 11 2 , yang memberikan daftar berikut untuk langkah 3:
0 1 2 3 4 5 6 7 8 9
0 2 0 0 0 0 0 0 0 0
Perhatikan bagaimana kita tidak menghitung eksponen. Ini berlipat ganda bersama untuk mendapatkan:
0 1 2 3 4 5 6 7 8 9
0 6 0 0 0 0 0 0 0 0
Dan jumlah daftar ini adalah 6.
Uji kasus
1 -> 0
2 -> 2
3 -> 2
4 -> 1
5 -> 2
10 -> 2
13 -> 4
121 -> 6
Catatan
- Celah standar dilarang.
- Input dan output dapat dalam format apa pun yang masuk akal.
- Anda harus meninggalkan yang (atau nol untuk langkah 3) dalam daftar untuk digit yang tidak muncul dalam angka.
- Ini adalah kode-golf , jadi solusi terpendek dalam byte menang.
232792560
->[2,1,4,2,1,2,2,2,1,2]
(langkah 1);2*2*2*2*3*3*5*7*14*17*19
(Langkah 2); jadi[0,5,1,2,0,1,0,2,0,1]
(langkah 3); lalu[0,5,4,4,0,2,0,4,0,2]
(Langkah 4); dan karenanya harus keluar21
.Jawaban:
Jelly , 16 byte
Cobalah online!
Dikembangkan secara independen dari dan tidak persis sama dengan solusi Jelly lainnya .
Penjelasan
Saya gong untuk digunakan
242
sebagai input contoh.sumber
Jelly ,
1817 byte-1 byte berkat caird coinheringaahing & H.PWiz (hindari memasangkan kedua vektor)
Tautan monadik mengambil bilangan bulat positif dan mengembalikan bilangan bulat non-negatif.
Cobalah online!
Bagaimana?
sumber
APL (Dyalog) ,
4341 byteCobalah online!
Bagaimana?
r←⎕
- masukan ker
3pco
- faktor utama∪
- unik⎕D,r
-r
Dilengkapi dengan0-9
⍕¨
- memformat faktor dan rentang yang diawali⎕D∘.=
- perbandingan kartesius dengan setiap elemen string0123456789
+/¨
- jumlah setiap baris dari dua tabel yang terbentuk×/
- kalikan dua vektor ke kiri+/
- jumlah vektor terakhir yang terbentuksumber
Pip , 44 byte
Mengambil input dari argumen baris perintah. Cobalah online!
sumber
Python 2 ,
136127 byteCobalah online!
Kredit
sumber
-~
saya selalu sedikit bingung tentang itu. Dan saya harus mulai mengingat<1
hal itu. Terima kasih untuk bantuannya.-~
dan hal-hal terkait.