Diberi dua angka N dan x, cari jumlah angka x-digit yang produk digitnya adalah N
limits: N(<10^6) and x(<12)
Sample Input:
8 3
Sample Output:
10
code-golf
number-theory
fR0DDY
sumber
sumber
Jawaban:
Python 208 karakter
sumber
Golfscript
4231Input: Mengharapkan angka
N
danx
sebagai argumen baris perintah (dipisahkan oleh spasi).Program dapat diuji di sini .
sumber
Code took longer than 5 seconds to run, so it was aborted.
dengan parameter terbalik. :)x
berjalan di atas 4. Misalnya, jika saya menjalankannya di mesin saya dengan parameter3 5
saya mendapatkan hasilnya setelah 30+ detik. Jadi,3 8
kurasa itu bisa berjam-jam ...Brachylog (2), 13 byte, tantangan tanggal bahasa
Cobalah online!
Penjelasan
Salah satu trik golf rapi yang digunakan di sini adalah tidak seperti hampir semua metapredicate,
ᶜ
tidak peduli sama sekali tentang nilai aktual.
(yang biasanya digunakan untuk membangun output untuk metapredicate); dengan demikian,.
dapat digunakan seperti variabel lain (menyimpan byte karena itu muncul secara implisit sebelumnya}
). Tidak ada labelisasi implisit di mana pun di sini, jadi saya harus menambahkan labelisasi eksplisit menggunakan≜
untuk memberikanᶜ
sesuatu untuk dihitung.sumber
Scala 107:
ungolfed, versi debugfriendly:
Doa dengan hasil debug:
sumber
Python (masih mengerjakannya) 164
sumber
C # 128
Metode C # ini mengembalikan jumlah
x
angka -digit yang produk digitnya adalahn
. Ini membutuhkan ruang namaSystem
danSystem.Linq
diimpor dalam konteks saat ini.Versi online: http://ideone.com/0krup
sumber
Haskell 117 karakter
sumber
K, 49
.
sumber
J, 40 byte
Menghasilkan semua
x
angka -digit, mengonversi masing-masing ke basis 10, kemudian menemukan produk dari masing-masing angka, dan menguji apakah setiap angka sama dengan sisi kiri, dan kemudian menemukan jumlah masing-masing boolean.sumber
Jelly , 12 byte, tantangan tanggal kiriman bahasa
Cobalah online!
Mengambil x sebagai argumen baris perintah dan N pada input standar.
Penjelasan
Bagian yang sulit adalah membuat daftar angka dengan x digit; angka terendah adalah 10 x −1 , tertinggi adalah 10 x −1. Kisaran di sini dihasilkan melalui pertama-tama menghasilkan pasangan ( x , x −1), kemudian mengambil 10 pangkat keduanya, dan kemudian menghasilkan kisaran di antara mereka. Rentang ini mencakup kedua titik akhir secara default; untuk berjaga-jaga jika N adalah 0, kita perlu menghapus ujung atas dari rentang (yang didahulukan karena itu adalah rentang "mundur") menggunakan
Ḋ
.sumber