From 091476825e82ed4a7f5255f8c96d3464e56ec71d Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 00:55:24 +0100 Subject: [PATCH 01/18] add new exercise "armstrong-numbers" --- .../armstrong-numbers/canonical-data.json | 207 ++++++++++++++++++ exercises/armstrong-numbers/description.md | 10 + exercises/armstrong-numbers/metadata.yml | 4 + 3 files changed, 221 insertions(+) create mode 100644 exercises/armstrong-numbers/canonical-data.json create mode 100644 exercises/armstrong-numbers/description.md create mode 100644 exercises/armstrong-numbers/metadata.yml diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json new file mode 100644 index 0000000000..4d92b6db82 --- /dev/null +++ b/exercises/armstrong-numbers/canonical-data.json @@ -0,0 +1,207 @@ +{ + "exercise": "armstrong-number", + "version": "1.0.0", + "comments": [ + "Both input-parameters are always given in base-10(decimal)." + ], + "cases": [ + { + "description": "0 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 0, + "base": 10 + }, + "expected": true + }, + { + "description": "1 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 1, + "base": 10 + }, + "expected": true + }, + { + "description": "2 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 2, + "base": 10 + }, + "expected": true + }, + { + "description": "9 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 9, + "base": 10 + }, + "expected": true + }, + { + "description": "10 is not an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 10, + "base": 10 + }, + "expected": false + }, + { + "description": "100 is not an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 100, + "base": 10 + }, + "expected": false + }, + { + "description": "111 is not an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 111, + "base": 10 + }, + "expected": false + }, + { + "description": "153 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 153, + "base": 10 + }, + "expected": true + }, + { + "description": "370 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 370, + "base": 10 + }, + "expected": true + }, + { + "description": "9474 is an Armstrong number in base 10", + "property": "armstrong", + "input": { + "number": 9474, + "base": 10 + }, + "expected": true + }, + { + "description": "0 is an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 0, + "base": 8 + }, + "expected": true + }, + { + "description": "1 is an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 1, + "base": 8 + }, + "expected": true + }, + { + "description": "2 is an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 2, + "base": 8 + }, + "expected": true + }, + { + "description": "7 is an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 7, + "base": 8 + }, + "expected": true + }, + { + "description": "10 is not an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 10, + "base": 8 + }, + "expected": false + }, + { + "description": "432 is an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 432, + "base": 8 + }, + "expected": true + }, + { + "description": "2 is an Armstrong number in base 3", + "property": "armstrong", + "input": { + "number": 2, + "base": 3 + }, + "expected": true + }, + { + "description": "4 is not an Armstrong number in base 3", + "property": "armstrong", + "input": { + "number": 4, + "base": 3 + }, + "expected": false + }, + { + "description": "17 is an Armstrong number in base 3", + "property": "armstrong", + "input": { + "number": 17, + "base": 3 + }, + "expected": true + }, + { + "description": "10 is not an Armstrong number in base 8", + "property": "armstrong", + "input": { + "number": 10, + "base": 8 + }, + "expected": false + }, + { + "description": "10 is an Armstrong number in base 16", + "property": "armstrong", + "input": { + "number": 10, + "base": 16 + }, + "expected": true + }, + { + "description": "10 is not an Armstrong number in base 3", + "property": "armstrong", + "input": { + "number": 10, + "base": 3 + }, + "expected": false + } + ] +} diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md new file mode 100644 index 0000000000..d9778b6e0b --- /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. +It also depends on the base of the number being used (for example base = 10 for the decimal system or base = 2 for the binary system). + +For example: +15310 is       an armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 +15410 is *not* an armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 +1710 is       an armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 +1810 is *not* an armstrong number in base 3, because: 1810 = 2003 ≠ 23 + 03 + 03 = 8 + 0 + 0 = 810 + +Implement a function, that for a given number10 and a base10 returns True if the number is an armstrong number with respect to the numeral system "base" and False otherwise. diff --git a/exercises/armstrong-numbers/metadata.yml b/exercises/armstrong-numbers/metadata.yml new file mode 100644 index 0000000000..c856f35c58 --- /dev/null +++ b/exercises/armstrong-numbers/metadata.yml @@ -0,0 +1,4 @@ +--- +blurb: "Given two decimal parameters (number and base) return True if the number 'number' is an armstrong number with respect to the numeral system with base 'base'." +source: "Wikipedia" +source_url: "https://en.wikipedia.org/wiki/Narcissistic_number" From f6e899610f80cad2d0d78099fce76387d0aceb40 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 19:34:23 +0100 Subject: [PATCH 02/18] remove duplicate test --- exercises/armstrong-numbers/canonical-data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 4d92b6db82..70446093b3 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -176,15 +176,6 @@ }, "expected": true }, - { - "description": "10 is not an Armstrong number in base 8", - "property": "armstrong", - "input": { - "number": 10, - "base": 8 - }, - "expected": false - }, { "description": "10 is an Armstrong number in base 16", "property": "armstrong", From 3419018decda2116b31c9d431a8b49e2898b609d Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 19:37:59 +0100 Subject: [PATCH 03/18] remove empty tag in description --- exercises/armstrong-numbers/description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index d9778b6e0b..2005b99800 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -1,7 +1,7 @@ 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. It also depends on the base of the number being used (for example base = 10 for the decimal system or base = 2 for the binary system). -For example: +For example: 15310 is       an armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 15410 is *not* an armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 1710 is       an armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 From b3edac10e1030f0356ea6407b0fca2c614db8f65 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 19:39:02 +0100 Subject: [PATCH 04/18] remove html spaces from description --- exercises/armstrong-numbers/description.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index 2005b99800..d6c42e02cc 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -2,9 +2,9 @@ An [Armstrong number](https://en.wikipedia.org/wiki/Narcissistic_number) is a nu It also depends on the base of the number being used (for example base = 10 for the decimal system or base = 2 for the binary system). For example: -15310 is       an armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 +15310 is an armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 15410 is *not* an armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 -1710 is       an armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 +1710 is an armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 1810 is *not* an armstrong number in base 3, because: 1810 = 2003 ≠ 23 + 03 + 03 = 8 + 0 + 0 = 810 Implement a function, that for a given number10 and a base10 returns True if the number is an armstrong number with respect to the numeral system "base" and False otherwise. From bebc99579f6734c8020e2cb51d20f4ed2cf7b733 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 19:40:47 +0100 Subject: [PATCH 05/18] Simplify the "blurb" in metadata --- exercises/armstrong-numbers/metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/armstrong-numbers/metadata.yml b/exercises/armstrong-numbers/metadata.yml index c856f35c58..d19cec4bc2 100644 --- a/exercises/armstrong-numbers/metadata.yml +++ b/exercises/armstrong-numbers/metadata.yml @@ -1,4 +1,4 @@ --- -blurb: "Given two decimal parameters (number and base) return True if the number 'number' is an armstrong number with respect to the numeral system with base 'base'." +blurb: "Determine if a number is an Armstrong number" source: "Wikipedia" source_url: "https://en.wikipedia.org/wiki/Narcissistic_number" From 874014e77d81c29dfb277020c45df92978300d3b Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 19:49:41 +0100 Subject: [PATCH 06/18] remove 111 test-case --- exercises/armstrong-numbers/canonical-data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 70446093b3..675f89cda9 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -59,15 +59,6 @@ }, "expected": false }, - { - "description": "111 is not an Armstrong number in base 10", - "property": "armstrong", - "input": { - "number": 111, - "base": 10 - }, - "expected": false - }, { "description": "153 is an Armstrong number in base 10", "property": "armstrong", From 1210c009b69388550597c3a986dd27bc0d638858 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 21:01:22 +0100 Subject: [PATCH 07/18] Add missing space in canonical data comment --- exercises/armstrong-numbers/canonical-data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 675f89cda9..3ef77419d1 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -2,7 +2,7 @@ "exercise": "armstrong-number", "version": "1.0.0", "comments": [ - "Both input-parameters are always given in base-10(decimal)." + "Both input-parameters are always given in base-10 (decimal)." ], "cases": [ { From 28eba60d9560871c3ad1bf78ec305e757112d488 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Tue, 21 Nov 2017 23:18:22 +0100 Subject: [PATCH 08/18] Capitalize all armstrong-refernces --- exercises/armstrong-numbers/description.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index d6c42e02cc..d23387f965 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -2,9 +2,9 @@ An [Armstrong number](https://en.wikipedia.org/wiki/Narcissistic_number) is a nu It also depends on the base of the number being used (for example base = 10 for the decimal system or base = 2 for the binary system). For example: -15310 is an armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 -15410 is *not* an armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 -1710 is an armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 -1810 is *not* an armstrong number in base 3, because: 1810 = 2003 ≠ 23 + 03 + 03 = 8 + 0 + 0 = 810 +15310 is an Armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 +15410 is *not* an Armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 +1710 is an Armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 +1810 is *not* an Armstrong number in base 3, because: 1810 = 2003 ≠ 23 + 03 + 03 = 8 + 0 + 0 = 810 -Implement a function, that for a given number10 and a base10 returns True if the number is an armstrong number with respect to the numeral system "base" and False otherwise. +Implement a function, that for a given number10 and a base10 returns True if the number is an Armstrong number with respect to the numeral system "base" and False otherwise. From 6f1c4f45316b060468b58580dc12a93aeedca560 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Sun, 26 Nov 2017 16:05:46 +0100 Subject: [PATCH 09/18] remove "base"-ness --- .../armstrong-numbers/canonical-data.json | 143 +++--------------- exercises/armstrong-numbers/description.md | 11 +- 2 files changed, 25 insertions(+), 129 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 3ef77419d1..a8c82a3d9c 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -1,189 +1,86 @@ { "exercise": "armstrong-number", "version": "1.0.0", - "comments": [ - "Both input-parameters are always given in base-10 (decimal)." - ], "cases": [ { - "description": "0 is an Armstrong number in base 10", + "description": "0 is an Armstrong number", "property": "armstrong", "input": { - "number": 0, - "base": 10 + "number": 0 }, "expected": true }, { - "description": "1 is an Armstrong number in base 10", + "description": "1 is an Armstrong number", "property": "armstrong", "input": { - "number": 1, - "base": 10 + "number": 1 }, "expected": true }, { - "description": "2 is an Armstrong number in base 10", + "description": "9 is an Armstrong number", "property": "armstrong", "input": { - "number": 2, - "base": 10 + "number": 9 }, "expected": true }, { - "description": "9 is an Armstrong number in base 10", + "description": "10 is not an Armstrong number", "property": "armstrong", "input": { - "number": 9, - "base": 10 - }, - "expected": true - }, - { - "description": "10 is not an Armstrong number in base 10", - "property": "armstrong", - "input": { - "number": 10, - "base": 10 + "number": 10 }, "expected": false }, { - "description": "100 is not an Armstrong number in base 10", + "description": "100 is not an Armstrong number", "property": "armstrong", "input": { - "number": 100, - "base": 10 + "number": 100 }, "expected": false }, { - "description": "153 is an Armstrong number in base 10", - "property": "armstrong", - "input": { - "number": 153, - "base": 10 - }, - "expected": true - }, - { - "description": "370 is an Armstrong number in base 10", - "property": "armstrong", - "input": { - "number": 370, - "base": 10 - }, - "expected": true - }, - { - "description": "9474 is an Armstrong number in base 10", - "property": "armstrong", - "input": { - "number": 9474, - "base": 10 - }, - "expected": true - }, - { - "description": "0 is an Armstrong number in base 8", - "property": "armstrong", - "input": { - "number": 0, - "base": 8 - }, - "expected": true - }, - { - "description": "1 is an Armstrong number in base 8", + "description": "153 is an Armstrong number", "property": "armstrong", "input": { - "number": 1, - "base": 8 + "number": 153 }, "expected": true }, { - "description": "2 is an Armstrong number in base 8", + "description": "370 is an Armstrong number", "property": "armstrong", "input": { - "number": 2, - "base": 8 + "number": 370 }, "expected": true }, { - "description": "7 is an Armstrong number in base 8", + "description": "9474 is an Armstrong number", "property": "armstrong", "input": { - "number": 7, - "base": 8 + "number": 9474 }, "expected": true }, { - "description": "10 is not an Armstrong number in base 8", + "description": "9926314 is not an Armstrong number", "property": "armstrong", "input": { - "number": 10, - "base": 8 + "number": 9926314 }, "expected": false }, { - "description": "432 is an Armstrong number in base 8", + "description": "9926315 is an Armstrong number", "property": "armstrong", "input": { - "number": 432, - "base": 8 + "number": 9926315 }, "expected": true - }, - { - "description": "2 is an Armstrong number in base 3", - "property": "armstrong", - "input": { - "number": 2, - "base": 3 - }, - "expected": true - }, - { - "description": "4 is not an Armstrong number in base 3", - "property": "armstrong", - "input": { - "number": 4, - "base": 3 - }, - "expected": false - }, - { - "description": "17 is an Armstrong number in base 3", - "property": "armstrong", - "input": { - "number": 17, - "base": 3 - }, - "expected": true - }, - { - "description": "10 is an Armstrong number in base 16", - "property": "armstrong", - "input": { - "number": 10, - "base": 16 - }, - "expected": true - }, - { - "description": "10 is not an Armstrong number in base 3", - "property": "armstrong", - "input": { - "number": 10, - "base": 3 - }, - "expected": false } ] } diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index d23387f965..17fe27de20 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -1,10 +1,9 @@ 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. -It also depends on the base of the number being used (for example base = 10 for the decimal system or base = 2 for the binary system). For example: -15310 is an Armstrong number in base 10, because: 15310 = 13 + 53 + 33 = 1 + 125 + 27 = 15410 -15410 is *not* an Armstrong number in base 10, because: 15410 ≠ 13 + 53 + 43 = 1 + 125 + 64 = 19010 -1710 is an Armstrong number in base 3, because: 1710 = 1223 = 13 + 23 + 23 = 1 + 8 + 8 = 1710 -1810 is *not* an Armstrong number in base 3, because: 1810 = 2003 ≠ 23 + 03 + 03 = 8 + 0 + 0 = 810 +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 = 154 +154 is *not* an Armstrong number, because: 154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190 -Implement a function, that for a given number10 and a base10 returns True if the number is an Armstrong number with respect to the numeral system "base" and False otherwise. +Implement a function, that returns True if the number is an Armstrong number and False otherwise. From d06c5cca974a9cb8f83894a6ac2e51f27f16c17b Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Sun, 26 Nov 2017 16:34:55 +0100 Subject: [PATCH 10/18] correct description example mistake --- exercises/armstrong-numbers/description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index 17fe27de20..795657e3a4 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -3,7 +3,7 @@ An [Armstrong number](https://en.wikipedia.org/wiki/Narcissistic_number) is a nu 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 = 154 +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 Implement a function, that returns True if the number is an Armstrong number and False otherwise. From 1283083934494e1458a3b635ea9ab97134c50303 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Mon, 27 Nov 2017 10:54:45 +0100 Subject: [PATCH 11/18] add missing s to exercise name change property to isArmstrongNumber --- .../armstrong-numbers/canonical-data.json | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index a8c82a3d9c..9ed55a5068 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -1,10 +1,10 @@ { - "exercise": "armstrong-number", + "exercise": "armstrong-numbers", "version": "1.0.0", "cases": [ { "description": "0 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 0 }, @@ -12,7 +12,7 @@ }, { "description": "1 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 1 }, @@ -20,7 +20,7 @@ }, { "description": "9 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 9 }, @@ -28,7 +28,7 @@ }, { "description": "10 is not an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 10 }, @@ -36,7 +36,7 @@ }, { "description": "100 is not an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 100 }, @@ -44,7 +44,7 @@ }, { "description": "153 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 153 }, @@ -52,7 +52,7 @@ }, { "description": "370 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 370 }, @@ -60,7 +60,7 @@ }, { "description": "9474 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 9474 }, @@ -68,7 +68,7 @@ }, { "description": "9926314 is not an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 9926314 }, @@ -76,7 +76,7 @@ }, { "description": "9926315 is an Armstrong number", - "property": "armstrong", + "property": "isArmstrongNumber", "input": { "number": 9926315 }, From ff8b492d3b1863a7456c66f60fd7f646335745a9 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Mon, 27 Nov 2017 12:28:10 +0100 Subject: [PATCH 12/18] rephrase task description --- exercises/armstrong-numbers/description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index 795657e3a4..6911444b64 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -6,4 +6,4 @@ For example: 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 -Implement a function, that returns True if the number is an Armstrong number and False otherwise. +Write some code to determine whether a number is an Armstrong number. From 2dd4d68633becfc1d050ef1b6175841bced3cbc1 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Mon, 27 Nov 2017 15:08:07 +0100 Subject: [PATCH 13/18] update description and fix broken rendering --- exercises/armstrong-numbers/description.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/exercises/armstrong-numbers/description.md b/exercises/armstrong-numbers/description.md index 6911444b64..0250de56f0 100644 --- a/exercises/armstrong-numbers/description.md +++ b/exercises/armstrong-numbers/description.md @@ -1,9 +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 + +- 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. From a5ce348e501bfc3b200678ec13d3506e5ff3a3d5 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Wed, 29 Nov 2017 21:52:51 +0100 Subject: [PATCH 14/18] add description for non existant armstrong numbers --- exercises/armstrong-numbers/canonical-data.json | 1 + 1 file changed, 1 insertion(+) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 9ed55a5068..3218ad3f2b 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -1,6 +1,7 @@ { "exercise": "armstrong-numbers", "version": "1.0.0", + "description": "There are no 2 digit Armstrong numbers", "cases": [ { "description": "0 is an Armstrong number", From 9c77324c97e7039388011391cb6508e90df7d0a8 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Wed, 29 Nov 2017 22:00:56 +0100 Subject: [PATCH 15/18] update test descriptions --- .../armstrong-numbers/canonical-data.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 3218ad3f2b..5b1a95ca7b 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -28,7 +28,7 @@ "expected": true }, { - "description": "10 is not an Armstrong number", + "description": "There are no 2 digit Armstrong numbers", "property": "isArmstrongNumber", "input": { "number": 10 @@ -36,7 +36,7 @@ "expected": false }, { - "description": "100 is not an Armstrong number", + "description": "Three digit number that is not an Armstrong number", "property": "isArmstrongNumber", "input": { "number": 100 @@ -44,7 +44,7 @@ "expected": false }, { - "description": "153 is an Armstrong number", + "description": "Three digit number that is an Armstrong number", "property": "isArmstrongNumber", "input": { "number": 153 @@ -52,23 +52,23 @@ "expected": true }, { - "description": "370 is an Armstrong number", + "description": "Four digit number that is an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 370 + "number": 9474 }, "expected": true }, { - "description": "9474 is an Armstrong number", + "description": "Four digit number that is not an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 9474 + "number": 9475 }, - "expected": true + "expected": false }, { - "description": "9926314 is not an Armstrong number", + "description": "Seven digit number that is not an Armstrong number", "property": "isArmstrongNumber", "input": { "number": 9926314 @@ -76,7 +76,7 @@ "expected": false }, { - "description": "9926315 is an Armstrong number", + "description": "Seven digit number that is an Armstrong number", "property": "isArmstrongNumber", "input": { "number": 9926315 From 9fadff029d94637a637ddb2eda3aab687ccaf3ab Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Wed, 29 Nov 2017 22:28:12 +0100 Subject: [PATCH 16/18] remove unnecessary/wrong comment --- exercises/armstrong-numbers/canonical-data.json | 1 - 1 file changed, 1 deletion(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 5b1a95ca7b..db66c914f1 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -1,7 +1,6 @@ { "exercise": "armstrong-numbers", "version": "1.0.0", - "description": "There are no 2 digit Armstrong numbers", "cases": [ { "description": "0 is an Armstrong number", From 9959df6e25ee0dabbf5a623d24dec60b3b0886e9 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Wed, 29 Nov 2017 22:47:11 +0100 Subject: [PATCH 17/18] Merge single digit number-tests into one test --- .../armstrong-numbers/canonical-data.json | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index db66c914f1..0330019b3f 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -3,26 +3,10 @@ "version": "1.0.0", "cases": [ { - "description": "0 is an Armstrong number", + "description": "Single digit numbers are Armstrong numbers", "property": "isArmstrongNumber", "input": { - "number": 0 - }, - "expected": true - }, - { - "description": "1 is an Armstrong number", - "property": "isArmstrongNumber", - "input": { - "number": 1 - }, - "expected": true - }, - { - "description": "9 is an Armstrong number", - "property": "isArmstrongNumber", - "input": { - "number": 9 + "number": 5 }, "expected": true }, From 041eba5b89084fac100bbe033f27d20574d39b63 Mon Sep 17 00:00:00 2001 From: Konstantin Manna Date: Fri, 1 Dec 2017 20:05:22 +0100 Subject: [PATCH 18/18] change order of tests (consistent first "is an" followed by "is not an") --- .../armstrong-numbers/canonical-data.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/exercises/armstrong-numbers/canonical-data.json b/exercises/armstrong-numbers/canonical-data.json index 0330019b3f..94bf1d53ee 100644 --- a/exercises/armstrong-numbers/canonical-data.json +++ b/exercises/armstrong-numbers/canonical-data.json @@ -19,20 +19,20 @@ "expected": false }, { - "description": "Three digit number that is not an Armstrong number", + "description": "Three digit number that is an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 100 + "number": 153 }, - "expected": false + "expected": true }, { - "description": "Three digit number that is an Armstrong number", + "description": "Three digit number that is not an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 153 + "number": 100 }, - "expected": true + "expected": false }, { "description": "Four digit number that is an Armstrong number", @@ -51,20 +51,20 @@ "expected": false }, { - "description": "Seven digit number that is not an Armstrong number", + "description": "Seven digit number that is an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 9926314 + "number": 9926315 }, - "expected": false + "expected": true }, { - "description": "Seven digit number that is an Armstrong number", + "description": "Seven digit number that is not an Armstrong number", "property": "isArmstrongNumber", "input": { - "number": 9926315 + "number": 9926314 }, - "expected": true + "expected": false } ] }