EDIT: Demi meningkatkan kompleksitas, saya telah menambahkan lebih banyak tantangan.
Dalam matematika, bilangan vampir (atau bilangan vampir sejati) adalah bilangan alami gabungan v, dengan bilangan genap n, yang dapat difaktorkan menjadi dua bilangan x dan y masing-masing dengan n / 2 digit dan tidak keduanya dengan trailing nol, di mana v berisi semua digit dari x dan dari y, dengan urutan apa pun, menghitung multiplisitas. x dan y disebut taring.
Lebih lanjut tentang Nomor Vampir
Nomor Pseudovampire
Nomor pseudovampire mirip dengan nomor vampir, kecuali bahwa taring nomor pseudovampire n-digit tidak boleh panjang n / 2 digit. Angka Pseudovampire dapat memiliki angka ganjil, misalnya 126 = 6 × 21.
Memasukkan
Terima Angka dari baris perintah atau stdin
Keluaran
- "1260 = 21 * 60" (fang kecil dulu jika angkanya adalah Vampir.)
- "1261 bukan Nomor Vampir." (jika nomor itu bukan nomor Vampir)
- "126 = 6 * 21". (jika nomor tersebut adalah nomor Pseudovampire)
EDIT: Jika nomornya memiliki beberapa taring, tampilkan demikian.
x = fang1a * fang1b = fang2a * fang2b
fang1a
muncul sebelumnyafang2a
ketikafang1a < fang2a
Jawaban:
Python - 188 karakter
Tidak melakukan angka Pseudovampire
sumber
=
.Ruby, 190 karakter
sumber