add bash/clojure/java unworked problem sets

This commit is contained in:
Xevion
2020-11-15 09:21:14 -06:00
parent f9e792f483
commit 9269a8f4bf
14 changed files with 303 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"track":"clojure","exercise":"armstrong-numbers","id":"1f1f7ae1eefc49a68f16bd4c78df74b5","url":"https://exercism.io/my/solutions/1f1f7ae1eefc49a68f16bd4c78df74b5","handle":"Xevion","is_requester":true,"auto_approve":false}

View File

@@ -0,0 +1,18 @@
# Armstrong Numbers
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 = 1`
- 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.
## Source
Wikipedia [https://en.wikipedia.org/wiki/Narcissistic_number](https://en.wikipedia.org/wiki/Narcissistic_number)
## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

View File

@@ -0,0 +1,5 @@
(defproject armstrong-numbers "0.1.0-SNAPSHOT"
:description "armstrong-numbers exercise"
:url "https://github.com/exercism/clojure/tree/master/exercises/armstrong-numbers"
:dependencies [[org.clojure/clojure "1.10.0"]]
:main armstrong-numbers/-main)

View File

@@ -0,0 +1,18 @@
(ns armstrong-numbers)
; (defn armstrong? [num]
; (let [x (clojure.string/split (str num) #"")
; x (mapv read-string x)
; x (mapv #(* % %) x)
; ]
; (
; (prn x)
; )
; )
; )
(defn armstrong? [num] "ye")
(defn main [& args]
(armstrong? 9119)
)

View File

@@ -0,0 +1,39 @@
(ns armstrong-numbers-test
(:require [clojure.test :refer [deftest is testing]]
[armstrong-numbers :refer [armstrong?]]))
(deftest armstrong-number-5
(testing "Single digit numbers are Armstrong numbers"
(is (armstrong? 5))))
(deftest not-armstrong-number-10
(testing "There are no 2 digit Armstrong numbers"
(is (not (armstrong? 10)))))
(deftest armstrong-number-153
(testing "Three digit number that is an Armstrong number"
(is (armstrong? 153))))
(deftest not-armstrong-number-100
(testing "Three digit number that is not an Armstrong number"
(is (not (armstrong? 100)))))
(deftest armstrong-number-9474
(testing "Four digit number that is an Armstrong number"
(is (armstrong? 9474))))
(deftest not-armstrong-number-9475
(testing "Four digit number that is not an Armstrong number"
(is (not (armstrong? 9475)))))
(deftest armstrong-number-9926315
(testing "Seven digit number that is an Armstrong number"
(is (armstrong? 9926315))))
(deftest not-armstrong-number-9926314
(testing "Seven digit number that is not an Armstrong number"
(is (not (armstrong? 9926314)))))
(deftest armstrong-number-21897142587612075
(testing "Seventeen digit number that is an Armstrong number"
(is (armstrong? 21897142587612075))))