diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json new file mode 100644 index 0000000000..94bf1d53ee --- /dev/null +++ b/exercises/armstrong-numbers/canonical-data.json @@ -0,0 +1,70 @@ +{ + "exercise": "armstrong-numbers", + "version": "1.0.0", + "cases": [ + { + "description": "Single digit numbers are Armstrong numbers", + "property": "isArmstrongNumber", + "input": { + "number": 5 + }, + "expected": true + }, + { + "description": "There are no 2 digit Armstrong numbers", + "property": "isArmstrongNumber", + "input": { + "number": 10 + }, + "expected": false + }, + { + "description": "Three digit number that is an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 153 + }, + "expected": true + }, + { + "description": "Three digit number that is not an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 100 + }, + "expected": false + }, + { + "description": "Four digit number that is an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 9474 + }, + "expected": true + }, + { + "description": "Four digit number that is not an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 9475 + }, + "expected": false + }, + { + "description": "Seven digit number that is an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 9926315 + }, + "expected": true + }, + { + "description": "Seven digit number that is not an Armstrong number", + "property": "isArmstrongNumber", + "input": { + "number": 9926314 + }, + "expected": false + } + ] +} diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md new file mode 100644 index 0000000000..0250de56f0 --- /dev/null +++ b/exercises/armstrong-numbers/description.md @@ -0,0 +1,10 @@ +An [Armstrong number](https://en.wikipedia.org/wiki/Narcissistic_number) is a number that is the sum of its own digits each raised to the power of the number of digits. + +For example: + +- 9 is an Armstrong number, because `9 = 9^1 = 9` +- 10 is *not* an Armstrong number, because `10 != 1^2 + 0^2 = 2` +- 153 is an Armstrong number, because: `153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153` +- 154 is *not* an Armstrong number, because: `154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190` + +Write some code to determine whether a number is an Armstrong number. diff --git a/exercises/armstrong-numbers/metadata.yml b/exercises/armstrong-numbers/metadata.yml new file mode 100644 index 0000000000..d19cec4bc2 --- /dev/null +++ b/exercises/armstrong-numbers/metadata.yml @@ -0,0 +1,4 @@ +--- +blurb: "Determine if a number is an Armstrong number" +source: "Wikipedia" +source_url: "https://en.wikipedia.org/wiki/Narcissistic_number"