From 4540cfb079f10d15b4a23e74cecc74830bc6bf5d Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Fri, 7 Oct 2022 19:41:08 +0000 Subject: [PATCH 1/5] updating DIRECTORY.md --- DIRECTORY.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 1d9e6eff75c6..64e9d5333a2f 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -9,6 +9,7 @@ * [Newton Forward Interpolation](arithmetic_analysis/newton_forward_interpolation.py) * [Newton Method](arithmetic_analysis/newton_method.py) * [Newton Raphson](arithmetic_analysis/newton_raphson.py) + * [Newton Raphson New](arithmetic_analysis/newton_raphson_new.py) * [Secant Method](arithmetic_analysis/secant_method.py) ## Audio Filters @@ -107,6 +108,7 @@ * [Lempel Ziv](compression/lempel_ziv.py) * [Lempel Ziv Decompress](compression/lempel_ziv_decompress.py) * [Peak Signal To Noise Ratio](compression/peak_signal_to_noise_ratio.py) + * [Run Length Encoding](compression/run_length_encoding.py) ## Computer Vision * [Cnn Classification](computer_vision/cnn_classification.py) @@ -621,6 +623,7 @@ * [Linear Congruential Generator](other/linear_congruential_generator.py) * [Lru Cache](other/lru_cache.py) * [Magicdiamondpattern](other/magicdiamondpattern.py) + * [Maximum Subarray](other/maximum_subarray.py) * [Nested Brackets](other/nested_brackets.py) * [Password Generator](other/password_generator.py) * [Scoring Algorithm](other/scoring_algorithm.py) @@ -1053,6 +1056,7 @@ * [Fetch Bbc News](web_programming/fetch_bbc_news.py) * [Fetch Github Info](web_programming/fetch_github_info.py) * [Fetch Jobs](web_programming/fetch_jobs.py) + * [Fetch Quotes](web_programming/fetch_quotes.py) * [Fetch Well Rx Price](web_programming/fetch_well_rx_price.py) * [Get Imdb Top 250 Movies Csv](web_programming/get_imdb_top_250_movies_csv.py) * [Get Imdbtop](web_programming/get_imdbtop.py) From 379716e3524b289260942638adc2004572ec8f7c Mon Sep 17 00:00:00 2001 From: Saksham Gupta Date: Sun, 9 Oct 2022 01:42:12 +0530 Subject: [PATCH 2/5] added continued fractions --- maths/continued_fraction.py | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 maths/continued_fraction.py diff --git a/maths/continued_fraction.py b/maths/continued_fraction.py new file mode 100644 index 000000000000..e3e47a5001fb --- /dev/null +++ b/maths/continued_fraction.py @@ -0,0 +1,52 @@ +""" +Finding the continuous fraction for a rational number using python + +https://en.wikipedia.org/wiki/Continued_fraction +""" + + +from fractions import Fraction + + +def continued_fraction(num: Fraction) -> list[int]: + """ + :param num: + Fraction of the number whose continued fractions to be found. + Use Fraction(str(number)) for more accurate results due to + float inaccuracies. + + :return: + The continued fraction of rational number. + It is the all commas in the (n + 1)-tuple notation. + + >>> continued_fraction(Fraction(2)) + [2] + >>> continued_fraction(Fraction("3.245")) + [3, 4, 12, 4] + >>> continued_fraction(Fraction("2.25")) + [2, 4] + >>> continued_fraction(1/Fraction("2.25")) + [0, 2, 4] + >>> continued_fraction(Fraction("415/93")) + [4, 2, 6, 7] + """ + numerator, denominator = num.as_integer_ratio() + continued_fraction_list: list[int] = [] + while True: + integer_part = int(numerator / denominator) + continued_fraction_list.append(integer_part) + numerator = numerator - integer_part * denominator + if numerator == 0: + break + numerator, denominator = denominator, numerator + + return continued_fraction_list + + +if __name__ == "__main__": + + import doctest + + doctest.testmod() + + print("Continued Fraction of 0.84375 is: ", continued_fraction(Fraction("0.84375"))) From ba2da7c03918b9b01022b69e546396b6170b955c Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Sat, 8 Oct 2022 20:12:37 +0000 Subject: [PATCH 3/5] updating DIRECTORY.md --- DIRECTORY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 64e9d5333a2f..21aab155c868 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -480,6 +480,7 @@ * [Chudnovsky Algorithm](maths/chudnovsky_algorithm.py) * [Collatz Sequence](maths/collatz_sequence.py) * [Combinations](maths/combinations.py) + * [Continued Fraction](maths/continued_fraction.py) * [Decimal Isolate](maths/decimal_isolate.py) * [Double Factorial Iterative](maths/double_factorial_iterative.py) * [Double Factorial Recursive](maths/double_factorial_recursive.py) From e18b2fe2f19a25947b5680322e9e0b600e3ed2a1 Mon Sep 17 00:00:00 2001 From: Saksham1970 <45041294+Saksham1970@users.noreply.github.com> Date: Mon, 31 Oct 2022 01:43:48 +0530 Subject: [PATCH 4/5] Update maths/continued_fraction.py Co-authored-by: Caeden Perelli-Harris --- maths/continued_fraction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths/continued_fraction.py b/maths/continued_fraction.py index e3e47a5001fb..413a54386b9a 100644 --- a/maths/continued_fraction.py +++ b/maths/continued_fraction.py @@ -35,7 +35,7 @@ def continued_fraction(num: Fraction) -> list[int]: while True: integer_part = int(numerator / denominator) continued_fraction_list.append(integer_part) - numerator = numerator - integer_part * denominator + numerator -= integer_part * denominator if numerator == 0: break numerator, denominator = denominator, numerator From fd1cbe4fd0b2e57bf585fa438b3086741c3e281e Mon Sep 17 00:00:00 2001 From: Tianyi Zheng Date: Wed, 16 Aug 2023 00:19:21 -0700 Subject: [PATCH 5/5] Update maths/continued_fraction.py Co-authored-by: Caeden Perelli-Harris --- maths/continued_fraction.py | 1 - 1 file changed, 1 deletion(-) diff --git a/maths/continued_fraction.py b/maths/continued_fraction.py index 413a54386b9a..25ff649db77a 100644 --- a/maths/continued_fraction.py +++ b/maths/continued_fraction.py @@ -44,7 +44,6 @@ def continued_fraction(num: Fraction) -> list[int]: if __name__ == "__main__": - import doctest doctest.testmod()