-
-
Notifications
You must be signed in to change notification settings - Fork 546
Commit
Count the 1 bits in a number. Name and description by @vaeng https://forum.exercism.org/t/new-exercise-suggestion-pop-count/7632
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
{ | ||
"exercise": "eliuds-eggs", | ||
"cases": [ | ||
{ | ||
"uuid": "559e789d-07d1-4422-9004-3b699f83bca3", | ||
"description": "pop-count of 0", | ||
"property": "popCount", | ||
"input": { | ||
"number": 0 | ||
}, | ||
"expected": 0 | ||
}, | ||
{ | ||
"uuid": "2e4615f8-b90f-45db-b5b4-31b5f4a6afbe", | ||
"description": "pop-count of 1", | ||
"property": "popCount", | ||
"input": { | ||
"number": 1 | ||
}, | ||
"expected": 1 | ||
}, | ||
{ | ||
"uuid": "97223282-f71e-490c-92f0-b3ec9e275aba", | ||
"description": "pop-count of 16", | ||
"property": "popCount", | ||
"input": { | ||
"number": 16 | ||
}, | ||
"expected": 1 | ||
}, | ||
{ | ||
"uuid": "1f8fd18f-26e9-4144-9a0e-57cdfc4f4ff5", | ||
"description": "pop-count of 89", | ||
"property": "popCount", | ||
"input": { | ||
"number": 89 | ||
}, | ||
"expected": 4 | ||
}, | ||
{ | ||
"uuid": "0c18be92-a498-4ef2-bcbb-28ac4b06cb81", | ||
"description": "pop-count of 2000000000", | ||
"property": "popCount", | ||
"input": { | ||
"number": 2000000000 | ||
}, | ||
"expected": 13 | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Description | ||
|
||
Your friend Eliud inherited a farm from her grandma Tigist. Her granny was an inventor and had a tendency to build things in an overly complicated manner. The chicken coop has a digital display showing an encoded number representing the positions of all eggs that could be picked up. | ||
|
||
Eliud is asking you to write a program that shows the actual number of eggs in the coop. | ||
|
||
The position information encoding is calculated as follows: | ||
|
||
1. Scan the potential egg-laying spots and mark down a `1` for an existing egg or a `0` for an empty spot. | ||
2. Convert the number from binary to decimal | ||
3. Show the result on the display | ||
|
||
Example 1: | ||
|
||
``` | ||
Check failure on line 15 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesFenced code blocks should have a language specified
Check failure on line 15 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesFenced code blocks should have a language specified
|
||
Chicken Coop: | ||
_ _ _ _ _ _ _ | ||
|E| |E|E| | |E| | ||
Resulting Binary: | ||
1 0 1 1 0 0 1 | ||
Decimal number on the display: | ||
89 | ||
Actual eggs in the coop: | ||
4 | ||
``` | ||
|
||
Example 2: | ||
|
||
``` | ||
Check failure on line 32 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesFenced code blocks should have a language specified
Check failure on line 32 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesFenced code blocks should have a language specified
|
||
Chicken Coop: | ||
_ _ _ _ _ _ _ _ | ||
| | | |E| | | | | | ||
Resulting Binary: | ||
0 0 0 1 0 0 0 0 | ||
Decimal number on the display: | ||
16 | ||
Actual eggs in the coop: | ||
1 | ||
``` | ||
|
||
|
||
Check failure on line 47 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesMultiple consecutive blank lines
Check failure on line 47 in exercises/eliuds-eggs/description.md GitHub Actions / Lint markdown filesMultiple consecutive blank lines
|
||
## Restrictions | ||
|
||
Keep your hands off that bit-count functionality provided by your standard library! | ||
Solve this one yourself using other basic tools instead. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
title = "Eliud's Eggs" | ||
blurb = "Count the 1 bits in a number" |