diff options
| author | Dave Jacoby <jacoby.david@gmail.com> | 2020-08-09 23:17:22 -0400 |
|---|---|---|
| committer | Dave Jacoby <jacoby.david@gmail.com> | 2020-08-09 23:17:22 -0400 |
| commit | ca44b642e63e9320343dfd4d7b22e45d77f11ce7 (patch) | |
| tree | abe909957cd174f32e5f51ee5993ac4d73b697f7 /challenge-072/walt-mankowski/cpp/ch-1.cpp | |
| parent | 903f5c91759e6b3c322b0c97922c49d8e277e64a (diff) | |
| parent | 82d56a626e16b0a7dceeba973b3c69e14031d7f9 (diff) | |
| download | perlweeklychallenge-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.cpp | 30 |
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; +} |
