EDIT: Nell'interesse di aumentare la complessità, ho aggiunto di più alla sfida.
In matematica, un numero di vampiro (o vero numero di vampiro) è un numero naturale composto v, con un numero pari di cifre n, che può essere scomposto in due numeri interi xey ciascuno con n / 2 cifre e non entrambi con zero finali, dove v contiene precisamente tutte le cifre di xe di y, in qualsiasi ordine, contando la molteplicità. xey sono chiamate zanne.
Maggiori informazioni sul numero di vampiri
Numeri di pseudovampiro
I numeri di pseudovampiri sono simili ai numeri di vampiri, tranne per il fatto che le zanne di un numero di pseudovampiri a n cifre non devono necessariamente essere lunghe n / 2 cifre. I numeri di pseudovampiri possono avere un numero dispari di cifre, ad esempio 126 = 6 × 21.
Ingresso
Accetta i numeri dalla riga di comando o dallo stdin
Produzione
- "1260 = 21 * 60" (prima una zanna più piccola se il numero è un vampiro.)
- "1261 non è un numero di vampiro." (se il numero non è un numero di vampiro)
- "126 = 6 * 21". (se il numero è un numero Pseudovampire)
EDIT: se il numero ha più zanne, visualizzalo in questo modo.
x = fang1a * fang1b = fang2a * fang2b
fang1aappare prima fang2aquandofang1a < fang2a