Submit | All submissions | Best solutions | Back to list |
PROG0276 - Self-describing numbers |
A self-describing number is a number of which the digits in every position indicate the amount of times they occur in the number. Here, the positions of the digits are numbered from left to right starting with 0. The number 2020, for example, is a self-describing number of four digits. Position "0" has 2 as a value and there are a total of 2 zeroes in the number. Position 1 has 0 as a value, 1 doesn't occur in the number. Position 2 has value 2 and the digit occurs twice in the number. Lastly, position 3 has 0 as a value. 3 does not occur in 2020.
Assignment
Write a function selfdescribing to which a number $n \in \mathbb{N}$ must be given as an argument. The function must print a Boolean value as a result, indicating whether the number is self-describing or not.
Example
>>> selfdescribing(1210) True >>> selfdescribing(1110) False >>> selfdescribing(2020) True >>> selfdescribing(21200) True
Een zelfbeschrijvend getal is een getal waarvan het cijfer op elke positie aangeeft hoeveel keer dat cijfer voorkomt in het getal. Hierbij worden de cijferposities van links naar rechts genummerd vanaf 0. Het getal 2020 is bijvoorbeeld een zelfbeschrijvend getal van vier cijfers. Positie "0" heeft waarde 2 en er komen twee nullen voor in het getal. Positie "1" heeft waarde 0 omdat er geen enen in het getal voorkomen. Positie "2" heeft waarde 2 en het cijfer twee komt inderdaad twee keer voor in het getal. Tenslotte heeft positie "3" waarde 0 en het cijfer drie komt inderdaad niet voor in het getal.
Opgave
Schrijf een functie zelfbeschrijvend waaraan een getal $n \in \mathbb{N}$ als argument moet doorgegeven worden. De functie moet een Booleaanse waarde als resultaat teruggeven, die aangeeft of het gegeven getal zelfbeschrijvend is of niet.
Voorbeeld
>>> zelfbeschrijvend(1210) True >>> zelfbeschrijvend(1110) False >>> zelfbeschrijvend(2020) True >>> zelfbeschrijvend(21200) True
Added by: | Peter Dawyndt |
Date: | 2012-08-27 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |