-
-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
70 additions
and
105 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,3 @@ | ||
# Instructions | ||
|
||
Given a year, report if it is a leap year. | ||
|
||
The tricky thing here is that a leap year in the Gregorian calendar occurs: | ||
|
||
```text | ||
on every year that is evenly divisible by 4 | ||
except every year that is evenly divisible by 100 | ||
unless the year is also evenly divisible by 400 | ||
``` | ||
|
||
For example, 1997 is not a leap year, but 1996 is. | ||
1900 is not a leap year, but 2000 is. | ||
|
||
## Notes | ||
|
||
Though our exercise adopts some very simple rules, there is more to learn! | ||
|
||
For a delightful, four minute explanation of the whole leap year phenomenon, go watch [this youtube video][video]. | ||
|
||
[video]: https://www.youtube.com/watch?v=xX96xng7sAE | ||
Your task is to determine whether a given year is a leap year. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,12 @@ | ||
# Instructions | ||
# Introduction | ||
|
||
Write a function to convert from normal numbers to Roman Numerals. | ||
Your task is to convert a number from Arabic numerals to Roman numerals. | ||
|
||
The Romans were a clever bunch. | ||
They conquered most of Europe and ruled it for hundreds of years. | ||
They invented concrete and straight roads and even bikinis. | ||
One thing they never discovered though was the number zero. | ||
This made writing and dating extensive histories of their exploits slightly more challenging, but the system of numbers they came up with is still in use today. | ||
For example the BBC uses Roman numerals to date their programs. | ||
For this exercise, we are only concerned about traditional Roman numerals, in which the largest number is MMMCMXCIX (or 3,999). | ||
|
||
The Romans wrote numbers using letters - I, V, X, L, C, D, M. | ||
(notice these letters have lots of straight lines and are hence easy to hack into stone tablets). | ||
~~~~exercism/note | ||
There are lots of different ways to convert between Arabic and Roman numerals. | ||
We recommend taking a naive approach first to familiarise yourself with the concept of Roman numerals and then search for more efficient methods. | ||
```text | ||
1 => I | ||
10 => X | ||
7 => VII | ||
``` | ||
|
||
The maximum number supported by this notation is 3,999. | ||
(The Romans themselves didn't tend to go any higher) | ||
|
||
Wikipedia says: Modern Roman numerals ... are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. | ||
|
||
To see this in practice, consider the example of 1990. | ||
|
||
In Roman numerals 1990 is MCMXC: | ||
|
||
1000=M | ||
900=CM | ||
90=XC | ||
|
||
2008 is written as MMVIII: | ||
|
||
2000=MM | ||
8=VIII | ||
|
||
Learn more about [Roman numerals on Wikipedia][roman-numerals]. | ||
|
||
[roman-numerals]: https://wiki.imperivm-romanvm.com/wiki/Roman_Numerals | ||
Make sure to check out our Deep Dive video at the end to explore the different approaches you can take! | ||
~~~~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,28 @@ | ||
# Instructions | ||
|
||
Given an age in seconds, calculate how old someone would be on: | ||
Given an age in seconds, calculate how old someone would be on a planet in our Solar System. | ||
|
||
- Mercury: orbital period 0.2408467 Earth years | ||
- Venus: orbital period 0.61519726 Earth years | ||
- Earth: orbital period 1.0 Earth years, 365.25 Earth days, or 31557600 seconds | ||
- Mars: orbital period 1.8808158 Earth years | ||
- Jupiter: orbital period 11.862615 Earth years | ||
- Saturn: orbital period 29.447498 Earth years | ||
- Uranus: orbital period 84.016846 Earth years | ||
- Neptune: orbital period 164.79132 Earth years | ||
One Earth year equals 365.25 Earth days, or 31,557,600 seconds. | ||
If you were told someone was 1,000,000,000 seconds old, their age would be 31.69 Earth-years. | ||
|
||
So if you were told someone were 1,000,000,000 seconds old, you should | ||
be able to say that they're 31.69 Earth-years old. | ||
For the other planets, you have to account for their orbital period in Earth Years: | ||
|
||
If you're wondering why Pluto didn't make the cut, go watch [this YouTube video][pluto-video]. | ||
| Planet | Orbital period in Earth Years | | ||
| ------- | ----------------------------- | | ||
| Mercury | 0.2408467 | | ||
| Venus | 0.61519726 | | ||
| Earth | 1.0 | | ||
| Mars | 1.8808158 | | ||
| Jupiter | 11.862615 | | ||
| Saturn | 29.447498 | | ||
| Uranus | 84.016846 | | ||
| Neptune | 164.79132 | | ||
|
||
Note: The actual length of one complete orbit of the Earth around the sun is closer to 365.256 days (1 sidereal year). | ||
~~~~exercism/note | ||
The actual length of one complete orbit of the Earth around the sun is closer to 365.256 days (1 sidereal year). | ||
The Gregorian calendar has, on average, 365.2425 days. | ||
While not entirely accurate, 365.25 is the value used in this exercise. | ||
See [Year on Wikipedia][year] for more ways to measure a year. | ||
[pluto-video]: https://www.youtube.com/watch?v=Z_2gbGXzFbs | ||
[year]: https://en.wikipedia.org/wiki/Year#Summary | ||
~~~~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Introduction | ||
|
||
The year is 2525 and you've just embarked on a journey to visit all planets in the Solar System (Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and Neptune). | ||
The first stop is Mercury, where customs require you to fill out a form (bureaucracy is apparently _not_ Earth-specific). | ||
As you hand over the form to the customs officer, they scrutinize it and frown. | ||
"Do you _really_ expect me to believe you're just 50 years old? | ||
You must be closer to 200 years old!" | ||
|
||
Amused, you wait for the customs officer to start laughing, but they appear to be dead serious. | ||
You realize that you've entered your age in _Earth years_, but the officer expected it in _Mercury years_! | ||
As Mercury's orbital period around the sun is significantly shorter than Earth, you're actually a lot older in Mercury years. | ||
After some quick calculations, you're able to provide your age in Mercury Years. | ||
The customs officer smiles, satisfied, and waves you through. | ||
You make a mental note to pre-calculate your planet-specific age _before_ future customs checks, to avoid such mix-ups. | ||
|
||
~~~~exercism/note | ||
If you're wondering why Pluto didn't make the cut, go watch [this YouTube video][pluto-video]. | ||
[pluto-video]: https://www.youtube.com/watch?v=Z_2gbGXzFbs | ||
~~~~ |