elm/exercises/all-your-base/README.md

66 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

# All Your Base
Convert a number, represented as a sequence of digits in one base, to any other base.
Implement general base conversion. Given a number in base **a**,
represented as a sequence of digits, convert it to base **b**.
## Note
- Try to implement the conversion yourself.
Do not use something else to perform the conversion for you.
## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
In positional notation, a number in base **b** can be understood as a linear
combination of powers of **b**.
The number 42, *in base 10*, means:
(4 * 10^1) + (2 * 10^0)
The number 101010, *in base 2*, means:
(1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
The number 1120, *in base 3*, means:
(1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
I think you got the idea!
*Yes. Those three numbers above are exactly the same. Congratulations!*
## Elm Installation
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
installation and learning resources.
## Writing the Code
The first time you start an exercise, you'll need to ensure you have the
appropriate dependencies installed.
```bash
$ npm install
```
Execute the tests with:
```bash
$ npm test
```
Automatically run tests again when you save changes:
```bash
$ npm run watch
```
As you work your way through the test suite, be sure to remove the `skip <|`
calls from each test until you get them all passing!
## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.