Skip to content

Commit 63bad53

Browse files
committed
Add the "pernicious-numbers" hole
Updates #3
1 parent 2f6ecb3 commit 63bad53

File tree

4 files changed

+49
-8
lines changed

4 files changed

+49
-8
lines changed

answers.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,41 @@ Buzz`,
517517
44
518518
47
519519
49
520+
50`,
521+
"pernicious-numbers": `3
522+
5
523+
6
524+
7
525+
9
526+
10
527+
11
528+
12
529+
13
530+
14
531+
17
532+
18
533+
19
534+
20
535+
21
536+
22
537+
24
538+
25
539+
26
540+
28
541+
31
542+
33
543+
34
544+
35
545+
36
546+
37
547+
38
548+
40
549+
41
550+
42
551+
44
552+
47
553+
48
554+
49
520555
50`,
521556
"prime-numbers": `2
522557
3

code-golf.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ func codeGolf(w http.ResponseWriter, r *http.Request) {
253253
"fizz-buzz",
254254
"odious-numbers",
255255
"pascals-triangle",
256+
"pernicious-numbers",
256257
"prime-numbers",
257258
"seven-segment",
258259
"sierpiński-triangle",

db.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,15 @@ func printLeaderboards(w io.WriteCloser, id int) {
140140
WHEN 'fizz-buzz' THEN 3
141141
WHEN 'odious-numbers' THEN 4
142142
WHEN 'pascals-triangle' THEN 5
143-
WHEN 'prime-numbers' THEN 6
144-
WHEN '99-bottles-of-beer' THEN 7
145-
WHEN 'seven-segment' THEN 8
146-
WHEN 'sierpiński-triangle' THEN 9
147-
WHEN 'π' THEN 10
148-
WHEN 'e' THEN 11
149-
WHEN 'arabic-to-roman-numerals' THEN 12
150-
WHEN 'spelling-numbers' THEN 13
143+
WHEN 'pernicious-numbers' THEN 6
144+
WHEN 'prime-numbers' THEN 7
145+
WHEN '99-bottles-of-beer' THEN 8
146+
WHEN 'seven-segment' THEN 9
147+
WHEN 'sierpiński-triangle' THEN 10
148+
WHEN 'π' THEN 11
149+
WHEN 'e' THEN 12
150+
WHEN 'arabic-to-roman-numerals' THEN 13
151+
WHEN 'spelling-numbers' THEN 14
151152
END, rank, submitted`,
152153
id,
153154
)
@@ -205,6 +206,8 @@ func printLeaderboards(w io.WriteCloser, id int) {
205206
w.Write([]byte(`Fast><a href=odious-numbers>Odious Numbers`))
206207
case "pascals-triangle":
207208
w.Write([]byte(`Fast><a href=pascals-triangle>Pascal's Triangle`))
209+
case "pernicious-numbers":
210+
w.Write([]byte(`Fast><a href=pernicious-numbers>Pernicious Numbers`))
208211
case "prime-numbers":
209212
w.Write([]byte(`Fast><a href=prime-numbers>Prime Numbers`))
210213
case "seven-segment":
@@ -255,6 +258,7 @@ func printScores(w io.WriteCloser, hole, lang string, userID int) {
255258
{"fizz-buzz", "Fizz Buzz"},
256259
{"odious-numbers", "Odious Numbers"},
257260
{"pascals-triangle", "Pascal's Triangle"},
261+
{"pernicious-numbers", "Pernicious Numbers"},
258262
{"prime-numbers", "Prime Numbers"},
259263
{"sierpiński-triangle", "Sierpiński Triangle"},
260264
{"seven-segment", "Seven Segment"},

preambles.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var preambles = map[string]string{
99
"fizz-buzz": `<h1>Fizz Buzz</h1><p>Print the numbers from <b>1</b> to <b>100</b> inclusive, each on their own line.</p><p>If, however, the number is a multiple of <b>three</b> then print <b>Fizz</b> instead, and if the number is a multiple of <b>five</b> then print <b>Buzz</b>.</p><p>For numbers which are multiples of <b>both three and five</b> then print <b>FizzBuzz</b>.</p>`,
1010
"odious-numbers": `<h1>Odious Numbers</h1><p>An odious number is a non-negative number that has an odd number of 1s in its binary expansion.<p>Print all the odious numbers from <b>0</b> to <b>50</b> inclusive, each on their own line.<p>Numbers that are not odious are called <a href=evil-numbers>evil numbers</a>.</p>`,
1111
"pascals-triangle": `<h1>Pascal's Triangle</h1><p>Print the first <b>20 rows</b> of Pascal's triangle.</p>`,
12+
"pernicious-numbers": `<h1>Pernicious Numbers</h1><p>A pernicious number is a positive number where the sum of its binary expansion is a <a href=prime-numbers>prime number</a>.<p>For example, <b>5</b> is a pernicious number since <b>5 = 101<sub>2</sub></b> and <b>1 + 1 = 2</b>, which is prime.<p>Print all the pernicious numbers from <b>0</b> to <b>50</b> inclusive, each on their own line.</p>`,
1213
"prime-numbers": `<h1>Prime Numbers</h1><p>Print all the prime numbers from <b>1</b> to <b>100</b> inclusive, each on their own line.</p>`,
1314
"seven-segment": `<h1>Seven Segment</h1><p>Using pipes and underscores print the argument as if it were displayed on a seven segment display.<p>For example the number <b>0123456789</b> should be displayed as:<pre> _ _ _ _ _ _ _ _
1415
| | | _| _||_||_ |_ ||_||_|

0 commit comments

Comments
 (0)