aboutsummaryrefslogtreecommitdiff
path: root/challenge-072/walt-mankowski/cpp/ch-1.cpp
diff options
context:
space:
mode:
authorDave Jacoby <jacoby.david@gmail.com>2020-08-09 23:17:22 -0400
committerDave Jacoby <jacoby.david@gmail.com>2020-08-09 23:17:22 -0400
commitca44b642e63e9320343dfd4d7b22e45d77f11ce7 (patch)
treeabe909957cd174f32e5f51ee5993ac4d73b697f7 /challenge-072/walt-mankowski/cpp/ch-1.cpp
parent903f5c91759e6b3c322b0c97922c49d8e277e64a (diff)
parent82d56a626e16b0a7dceeba973b3c69e14031d7f9 (diff)
downloadperlweeklychallenge-club-ca44b642e63e9320343dfd4d7b22e45d77f11ce7.tar.gz
perlweeklychallenge-club-ca44b642e63e9320343dfd4d7b22e45d77f11ce7.tar.bz2
perlweeklychallenge-club-ca44b642e63e9320343dfd4d7b22e45d77f11ce7.zip
huh?
Diffstat (limited to 'challenge-072/walt-mankowski/cpp/ch-1.cpp')
-rw-r--r--challenge-072/walt-mankowski/cpp/ch-1.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-072/walt-mankowski/cpp/ch-1.cpp b/challenge-072/walt-mankowski/cpp/ch-1.cpp
new file mode 100644
index 0000000000..ba8c614fa1
--- /dev/null
+++ b/challenge-072/walt-mankowski/cpp/ch-1.cpp
@@ -0,0 +1,30 @@
+#include <stdlib.h>
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+const unsigned long long fact(const int n) {
+ unsigned long long res = 1;
+ for (int i = 2; i <= n; i++)
+ res *= i;
+ return res;
+}
+
+const int num_trailing_zeros(const unsigned long long n) {
+ int cnt = 0;
+ unsigned long long pwr = 10;
+ while (n % pwr == 0) {
+ cnt++;
+ pwr *= 10;
+ }
+ return cnt;
+}
+
+int main(int argc, char *argv[]) {
+ int n = atoi(argv[1]);
+ unsigned long long f = fact(n);
+ int z = num_trailing_zeros(f);
+ string zeros = (z == 1) ? "zero" : "zeros";
+ cout << n << " as N! = " << f << " has " << z << " trailing " << zeros << endl;
+}