Submit | All submissions | Best solutions | Back to list |
PROG0334 - Toothpicks |
With a bunch of toothpicks it is possible to write down simple mathematical expressions. Positive integers are formed by putting the same amount of toothpicks vertically next to each other (|). For example, the number three is written as |||. We can also put two toothpicks together to build a plus sign (+), and if we tilt those over 45 degrees we get the multiplication operator (x). Putting all of that together, the expression || x |||| + | is another way to express the number nine using eleven toothpicks in total.
Preparation
Python has a built-in function eval that takes a string argument. The function evaluates the string as a Python expression, and returns the object that results after evaluation of the expression.
>>> eval('1 + 1') 2 >>> eval('2 * 4 + 1') 9 >>> eval('2 + 3 * 7 ** 4') 7205
Input
A mathematical expression, put together using a number of toothpicks. In writing down this expression in string representation, only the following characters are used: |, + and x (lower case letter). In addition, the string representation may contain spaces at any position before, after and in between these characters. Spaces are only used to make the string representation more readable, but do not alter the meaning of the expression.
Output
Write out a line that contains a message formatted according to the template
expression = n (m toothpicks)
Snippets of the template that are in italic font have to be filled up based on given and computed information. The placeholder expression must be filled by the string representation of the expression, as read from the input. The expression, however, must be formatted according to the following style rules
- there is no white space at the start and end of the expression
- there is no white space in between subsequent vertical lines (|)
- there is exactly one space before and after each operator (+, x)
The value n represents the decimal value of the expression, and the value m represents the number of toothpicks needed to put the expression together using toothpicks. Do not forget to take into account the toothpicks that are needed to form the mathematical operators in the expression!
Example
Input:
| | x|| | |+|
Output:
|| x |||| + | = 9 (11 toothpicks)
Met een paar tandenstokers of lucifers kan je eenvoudige wiskundige uitdrukkingen neerschrijven. Natuurlijke getallen worden gevormd door evenveel tandenstokers die verticaal naast elkaar geplaatst worden (|). Het getal drie wordt bijvoorbeeld geschreven als |||. We kunnen ook twee tandenstokers gebruiken om een plusteken te vormen (+), en als we dat 45 graden draaien dan krijgen we de vermenigvuldigingsoperator (x). De uitdrukking || x |||| + | vormt dan bijvoorbeeld een alternatieve manier om het getal negen weer te geven, gebruik makend van elf tandenstokers.
Voorbereiding
Python heeft een ingebouwde functie eval waaraan een stringargument moet doorgegeven worden. De functie evalueert de string als een Python expressie, en geeft het object dat resulteert na evaluatie van de expressie als resultaat terug.
>>> eval('1 + 1') 2 >>> eval('2 * 4 + 1') 9 >>> eval('2 + 3 * 7 ** 4') 7205
Invoer
Een wiskundige uitdrukking, uitgeschreven aan de hand van een aantal tandenstokers. Voor het neerschrijven van deze uitdrukking wordt in stringvoorstelling enkel gebruik gemaakt van de karakters |, + en x (een kleine letter). Voorts kunnen er in de stringnotatie voor de duidelijkheid overal spaties geplaatst worden, die verder geen betekenis hebben.
Uitvoer
Schrijf een regel uit met de volgende vorm
uitdrukking = n (m tandenstokers)
Hierbij moeten de cursieve fragmenten ingevuld worden op basis van gegeven of berekende waarden. Op de plaats van uitdrukking moet de stringnotatie van de uitdrukking ingevuld worden, zoals die werd uitgelezen uit de invoer. De uitdrukking moet echter opgemaakt worden met de volgende stijlregels
- vooraan en achteraan de uitdrukking staan geen spaties
- tussen opeenvolgende verticale strepen (|) staan geen spaties
- voor en achter elke operator (+, x) staat juist één spatie
De waarde n stelt de numerieke waarde van de uitdrukking voor, en de waarde m stelt het aantal tandenstokers voor dat nodig is om de uitdrukking te vormen. Vergeet bij deze laatste waarde ook niet de tandenstokers mee te tellen die nodig zijn om de wiskundige operatoren te vormen!
Voorbeeld
Invoer:
| | x|| | |+|
Uitvoer:
|| x |||| + | = 9 (11 tandenstokers)
Added by: | Peter Dawyndt |
Date: | 2013-02-16 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |