aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-02-22 10:21:58 +0000
committerGitHub <noreply@github.com>2022-02-22 10:21:58 +0000
commit01f6b642facafe0eead19a7f7116a5530a3ae470 (patch)
tree6718ab8f37a4a4bbb580ca72acaad931d1107f2a
parent724312be84f5467b6107b7a3ec1c4588ac8b68e9 (diff)
parent645f6594284fc138b8a54647f5fbf96fe3afdac7 (diff)
downloadperlweeklychallenge-club-01f6b642facafe0eead19a7f7116a5530a3ae470.tar.gz
perlweeklychallenge-club-01f6b642facafe0eead19a7f7116a5530a3ae470.tar.bz2
perlweeklychallenge-club-01f6b642facafe0eead19a7f7116a5530a3ae470.zip
Merge pull request #5696 from E7-87-83/newt
The Weekly Challenge 153: Dart solution
-rw-r--r--challenge-153/cheok-yin-fung/dart/ch-1.dart20
-rw-r--r--challenge-153/cheok-yin-fung/dart/ch-2.dart30
2 files changed, 50 insertions, 0 deletions
diff --git a/challenge-153/cheok-yin-fung/dart/ch-1.dart b/challenge-153/cheok-yin-fung/dart/ch-1.dart
new file mode 100644
index 0000000000..192902b5c7
--- /dev/null
+++ b/challenge-153/cheok-yin-fung/dart/ch-1.dart
@@ -0,0 +1,20 @@
+// The Weekly Challenge 153
+// Task 1: Left Factorials
+// Usage: dart ch-1.dart
+
+void main() {
+ const arg = 10;
+ var factorial = [1];
+ for (int i = 1; i <= arg; i++) {
+ factorial.add(factorial[i-1]*i);
+ }
+
+ var leftfactorial = [0];
+
+ for (int i = 1; i <= arg; i++) {
+ leftfactorial.add(leftfactorial[i-1]+factorial[i-1]);
+ }
+ for (int i = 1; i <= arg; i++) {
+ print(leftfactorial[i]);
+ }
+}
diff --git a/challenge-153/cheok-yin-fung/dart/ch-2.dart b/challenge-153/cheok-yin-fung/dart/ch-2.dart
new file mode 100644
index 0000000000..4a54b1fee5
--- /dev/null
+++ b/challenge-153/cheok-yin-fung/dart/ch-2.dart
@@ -0,0 +1,30 @@
+// The Weekly Challenge 153
+// Task 2: Factorions
+// Usage: dart ch-2.dart [Positive Integer]
+
+void main(List<String> arguments) {
+// define factorial
+ var factorial = [1];
+ for (int i = 1; i <= 9; i++) {
+ factorial.add(factorial[i-1]*i);
+ }
+
+// convert input into a list of positive integers < 10
+ String mystr = arguments[0];
+ var myint = int.parse(mystr);
+ mystr = myint.toString(); // avoid leading zeros
+ var digits = <int>[];
+ mystr.split("").forEach((item) {
+ digits.add(int.parse(item));
+ });
+
+// sum
+ var sum = 0;
+ digits.forEach((d) {
+ sum += factorial[d];
+ });
+
+// wrap-up
+ print( myint.toString() + " is a factorion: "
+ + (sum == myint).toString() );
+}