diff --git a/DIRECTORY.md b/DIRECTORY.md index f0f494e7a3b41aaf046c97ffa71bcbd255341d7d..6f14f74fd0f7344b502bc473b56d775c3afe84ef 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -340,6 +340,8 @@ * [Astar](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/astar.py) * [Data Transformations](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/data_transformations.py) * [Decision Tree](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/decision_tree.py) + * Forecasting + * [Run](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/forecasting/run.py) * [Gaussian Naive Bayes](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/gaussian_naive_bayes.py) * [Gradient Boosting Regressor](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/gradient_boosting_regressor.py) * [Gradient Descent](https://github.com/TheAlgorithms/Python/blob/master/machine_learning/gradient_descent.py) @@ -630,6 +632,8 @@ * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_036/sol1.py) * Problem 037 * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_037/sol1.py) + * Problem 038 + * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_038/sol1.py) * Problem 039 * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_039/sol1.py) * Problem 040 @@ -716,7 +720,6 @@ * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_234/sol1.py) * Problem 551 * [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_551/sol1.py) - * [Validate Solutions](https://github.com/TheAlgorithms/Python/blob/master/project_euler/validate_solutions.py) ## Quantum * [Deutsch Jozsa](https://github.com/TheAlgorithms/Python/blob/master/quantum/deutsch_jozsa.py) diff --git a/maths/ceil.py b/maths/ceil.py index ac86798a357f53127b236927ffcdff348699b1eb..97578265c1a9738136a998d277a9f09f6e210960 100644 --- a/maths/ceil.py +++ b/maths/ceil.py @@ -1,3 +1,8 @@ +""" +https://en.wikipedia.org/wiki/Floor_and_ceiling_functions +""" + + def ceil(x) -> int: """ Return the ceiling of x as an Integral. @@ -10,9 +15,7 @@ def ceil(x) -> int: ... in (1, -1, 0, -0, 1.1, -1.1, 1.0, -1.0, 1_000_000_000)) True """ - return ( - x if isinstance(x, int) or x - int(x) == 0 else int(x + 1) if x > 0 else int(x) - ) + return int(x) if x - int(x) <= 0 else int(x) + 1 if __name__ == "__main__": diff --git a/maths/floor.py b/maths/floor.py index 41bd5ecb3cd7eafec23346ee504cb48045012fe7..482250f5e59e97978d8c8fe122b7dc8c067bbe4f 100644 --- a/maths/floor.py +++ b/maths/floor.py @@ -1,18 +1,19 @@ +""" +https://en.wikipedia.org/wiki/Floor_and_ceiling_functions +""" + + def floor(x) -> int: """ Return the floor of x as an Integral. - :param x: the number :return: the largest integer <= x. - >>> import math >>> all(floor(n) == math.floor(n) for n ... in (1, -1, 0, -0, 1.1, -1.1, 1.0, -1.0, 1_000_000_000)) True """ - return ( - x if isinstance(x, int) or x - int(x) == 0 else int(x) if x > 0 else int(x - 1) - ) + return int(x) if x - int(x) >= 0 else int(x) - 1 if __name__ == "__main__":