From 096dd0ce03a705e400f9dfbd3d121dd45e08d84a Mon Sep 17 00:00:00 2001 From: "George G. Vega Yon" Date: Thu, 19 Sep 2024 12:41:40 -0600 Subject: [PATCH] lab5, q2 done --- lab5/binom.cpp | 10 +++++++++- lab5/binom.hpp | 18 +++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lab5/binom.cpp b/lab5/binom.cpp index 73d9f51..7aa4ce4 100644 --- a/lab5/binom.cpp +++ b/lab5/binom.cpp @@ -1,11 +1,19 @@ #include "binom.hpp" + int main() { Binom b(10, 0.5); + std::cout << "Q1: Factorials" << std::endl; for (int i = 0; i < 10; i++) { - std::cout << b.factorial(i) << std::endl; + std::cout << b.factorial(i + 1) << std::endl; + } + + std::cout << "Q2 choose" << std::endl; + for (int i = 0; i < 10; i++) { + std::cout << b.choose(10, i + 1) << std::endl; + } return 0; diff --git a/lab5/binom.hpp b/lab5/binom.hpp index cf8970a..af682e4 100644 --- a/lab5/binom.hpp +++ b/lab5/binom.hpp @@ -19,7 +19,23 @@ class Binom { inline int Binom::factorial(int n) const { - return n; + + if (n <= 1) + return 1; + + return this->factorial(n - 1) * n; + +} + +inline double Binom::choose(int a, int b) const { + + // double a_dbl = (double) a; + // double b_dbl = static_cast(b); + + return this->factorial(a)/( + factorial(a - b) * factorial(b) + ); + } #endif