Submit | All submissions | Best solutions | Back to list |
PROG0427 - Vampire numbers |
A number $v \in \mathbb{N_0}$ is called a vampire number if it has en even number of digits $n$ and can be written as the product of two integers $x$ and $y$, each having $n/2$ digits. The integers $x$ and $y$ cannot both have trailing zeroes, and $v$ must contain precisely all digits from $x$ and $y$, in any order. The integers $x$ and $y$ are called the fangs of the vampire number $v$.
As an example, the integer 1260 is a vampire number, with 21 and 60 as fangs, since $21 \times 60 = 1260$. However, 126000 (which can be expressed as $21 \times 6000$ or $210 \times 600$) is not a vampire number, as 21 and 6000 do not have the correct length, and both 210 and 600 have trailing zeroes. Similarly, 1023 (which can be expressed as $31 \times 33$) is not a vampire number, as although 1023 contains all the digits of 31 and 33, the list of digits of the factors does not coincide with the list of digits of the original number.
Input
An integer $v \in \mathbb{N_0}$.
Output
A line containing a description that tells whether or not the number $v$ is a vampire number, following the format as given in the examples below.
Example
Input:
1260
Output:
1260 is a vampire number.
Example
Input:
1023
Output:
1023 is not a vampire number.
Een getal $v \in \mathbb{N_0}$ wordt een vampiergetal genoemd als het een even aantal cijfers $n$ heeft en het getal kan geschreven worden als het product van twee natuurlijke getallen $x$ and $y$, die elk $n/2$ cijfers hebben. De getallen $x$ en $y$ mogen niet allebei eindigen op een nul, en $v$ moet kunnen gevormd worden uit de cijfers van $x$ en $y$, in willekeurige volgorde. In dat geval worden de getallen $x$ en $y$ de fangs van het vampiergetal $v$ genoemd.
Het natuurlijk getal 1260 is bijvoorbeeld een vampiergetal, met de getallen 21 en 60 als fangs, aangezien $21 \times 60 = 1260$. Het getal 126000 (dat kan geschreven worden als $21 \times 6000$ of $210 \times 600$) is echter geen vampiergetal, omdat 21 en 6000 niet de correcte lengte hebben, en zowel 210 als 600 eindigen op een nul. Evenzo is 1023 (dat kan geschreven worden als $31 \times 33$) geen vampiergetal ondanks het feit dat 1023 alle cijfers bevat van de getallen 31 en 33. De lijst van de cijfers van de factoren valt immers niet samen met de lijst van cijfers van het getal 1023.
Invoer
Een getal $v \in \mathbb{N_0}$.
Uitvoer
Een regel tekst die aangeeft of het getal $v$ al dan niet een vampiergetal is. De tekstuele omschrijving moet gebeuren volgens het formaat zoals aangegeven in onderstaande voorbeelden.
Voorbeeld
Invoer:
1260
Uitvoer:
1260 is een vampiergetal.
Voorbeeld
Invoer:
1023
Uitvoer:
1023 is geen vampiergetal.
Added by: | Peter Dawyndt |
Date: | 2013-09-11 |
Time limit: | 30s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |