From 806e4846814ce87e1f36a230314124a1927a3654 Mon Sep 17 00:00:00 2001 From: Akshay Dubey Date: Wed, 8 Dec 2021 12:22:27 +0530 Subject: [PATCH 1/6] Add Pronic Number Implementation --- .../com/thealgorithms/maths/PronicNumber.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/com/thealgorithms/maths/PronicNumber.java diff --git a/src/main/java/com/thealgorithms/maths/PronicNumber.java b/src/main/java/com/thealgorithms/maths/PronicNumber.java new file mode 100644 index 000000000000..93b63a4a2a99 --- /dev/null +++ b/src/main/java/com/thealgorithms/maths/PronicNumber.java @@ -0,0 +1,47 @@ +package com.thealgorithms.maths; + +/* + * Java program for Pronic Number + * Pronic Number: A number n is a pronic number if + * it is equal to product of two consecutive numbers m and m+1. + * Wikipedia: https://en.wikipedia.org/wiki/Pronic_number + * + * Author: Akshay Dubey (https://github.com/itsAkshayDubey) + * + * */ + +public class PronicNumber { + + /** + * This method checks if the given number is pronic number or non-pronic number + * + * @param input_number Integer value which is to be checked if is a pronic number or not + * @return true if input number is a pronic number, false otherwise + */ + static boolean isPronic(int input_number) { + + //Iterating from 0 to input_number + for(int i = 0; i <= input_number; i++) { + + //Checking if product of i and (i+1) is equals input_number + if(i * (i+1) == input_number && i != input_number) { + + //return true if product of i and (i+1) is equals input_number + return true; + } + + } + + //return false if product of i and (i+1) for all values from 0 to input_number is not equals input_number + return false; + } + + //Driver code + public static void main(String[] args) { + + System.out.println(isPronic(30)); + + //Ouput: true + } + +} From 051e7446fe87d041bafc4c325509d9aa90b9e4b0 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Wed, 8 Dec 2021 06:53:12 +0000 Subject: [PATCH 2/6] Update directory --- DIRECTORY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 61e1530bf134..2986d30f28e7 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -250,6 +250,7 @@ * [PowRecursion](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PowRecursion.java) * [PrimeCheck](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PrimeCheck.java) * [PrimeFactorization](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PrimeFactorization.java) + * [PronicNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PronicNumber.java) * [PythagoreanTriple](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PythagoreanTriple.java) * [ReverseNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/ReverseNumber.java) * [RomanNumeralUtil](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/RomanNumeralUtil.java) From e33b080395a47013f8d90e0893dbd7fad2a87f1a Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 21 Dec 2021 06:49:02 +0000 Subject: [PATCH 3/6] Update directory --- DIRECTORY.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 2986d30f28e7..211794fde1ab 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -225,6 +225,7 @@ * [GenericRoot](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/GenericRoot.java) * [HarshadNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/HarshadNumber.java) * [JugglerSequence](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/JugglerSequence.java) + * [KaprekarNumbers](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/KaprekarNumbers.java) * [KeithNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/KeithNumber.java) * [KrishnamurthyNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/KrishnamurthyNumber.java) * [LeonardoNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/LeonardoNumber.java) @@ -241,6 +242,7 @@ * [NumberOfDigits](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/NumberOfDigits.java) * [PalindromeNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PalindromeNumber.java) * [ParseInteger](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/ParseInteger.java) + * [PascalTriangle](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PascalTriangle.java) * [PerfectCube](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PerfectCube.java) * [PerfectNumber](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PerfectNumber.java) * [PerfectSquare](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/PerfectSquare.java) @@ -279,6 +281,7 @@ * [TwoSumProblem](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/misc/TwoSumProblem.java) * [WordBoggle](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/misc/WordBoggle.java) * others + * [ArrayLeftRotation](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/others/ArrayLeftRotation.java) * [BankersAlgorithm](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/others/BankersAlgorithm.java) * [BestFit](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/others/BestFit.java) * [BFPRT](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/others/BFPRT.java) @@ -345,6 +348,7 @@ * [LowerBound](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LowerBound.java) * [MonteCarloTreeSearch](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/MonteCarloTreeSearch.java) * [PerfectBinarySearch](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/PerfectBinarySearch.java) + * [QuickSelect](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/QuickSelect.java) * [SaddlebackSearch](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/SaddlebackSearch.java) * [SquareRootBinarySearch](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/SquareRootBinarySearch.java) * [TernarySearch](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/TernarySearch.java) @@ -384,6 +388,7 @@ * [TreeSort](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/TreeSort.java) * strings * [Alphabetical](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/Alphabetical.java) + * [Anagrams](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/Anagrams.java) * [CharactersSame](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/CharactersSame.java) * [CheckAnagrams](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/CheckAnagrams.java) * [CheckVowels](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/CheckVowels.java) @@ -398,3 +403,11 @@ * [Rotation](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/Rotation.java) * [Upper](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/Upper.java) * [WordLadder](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/strings/WordLadder.java) + * test + * maths + * [KaprekarNumbersTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/maths/KaprekarNumbersTest.java) + * [PascalTriangleTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/maths/PascalTriangleTest.java) + * others + * [ArrayLeftRotationTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/others/ArrayLeftRotationTest.java) + * searches + * [QuickSelectTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/searches/QuickSelectTest.java) From ee913685476c50fa85811ac379c899953bd992a0 Mon Sep 17 00:00:00 2001 From: Akshay Dubey Date: Tue, 21 Dec 2021 12:44:35 +0530 Subject: [PATCH 4/6] Add unit tests for Pronic Number implementation --- .../thealgorithms/maths/PronicNumberTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/test/java/com/thealgorithms/maths/PronicNumberTest.java diff --git a/src/test/java/com/thealgorithms/maths/PronicNumberTest.java b/src/test/java/com/thealgorithms/maths/PronicNumberTest.java new file mode 100644 index 000000000000..9c735c6b8966 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/PronicNumberTest.java @@ -0,0 +1,34 @@ +package com.thealgorithms.maths; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +public class PronicNumberTest { + + @Test + void testForPronicNumber() { + + //given + int number = 30; + + //when + boolean result = PronicNumber.isPronic(number); + + //then + assertTrue(result); + } + + @Test + void testForNonPronicNumber() { + + //given + int number = 21; + + //when + boolean result = PronicNumber.isPronic(number); + + //then + assertFalse(result); + } +} \ No newline at end of file From 7322aff9013c2aafa379a2977c253891b9531423 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 21 Dec 2021 07:19:49 +0000 Subject: [PATCH 5/6] Update directory --- DIRECTORY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 211794fde1ab..ccf3608a35f3 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -407,6 +407,7 @@ * maths * [KaprekarNumbersTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/maths/KaprekarNumbersTest.java) * [PascalTriangleTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/maths/PascalTriangleTest.java) + * [PronicNumberTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/maths/PronicNumberTest.java) * others * [ArrayLeftRotationTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/others/ArrayLeftRotationTest.java) * searches From 366e5389d8a616e06b6dfd18db8f072be69ae66d Mon Sep 17 00:00:00 2001 From: Andrii Siriak Date: Tue, 21 Dec 2021 22:03:41 +0200 Subject: [PATCH 6/6] Update src/main/java/com/thealgorithms/maths/PronicNumber.java --- src/main/java/com/thealgorithms/maths/PronicNumber.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/PronicNumber.java b/src/main/java/com/thealgorithms/maths/PronicNumber.java index 93b63a4a2a99..bfb295a615ca 100644 --- a/src/main/java/com/thealgorithms/maths/PronicNumber.java +++ b/src/main/java/com/thealgorithms/maths/PronicNumber.java @@ -35,13 +35,4 @@ static boolean isPronic(int input_number) { //return false if product of i and (i+1) for all values from 0 to input_number is not equals input_number return false; } - - //Driver code - public static void main(String[] args) { - - System.out.println(isPronic(30)); - - //Ouput: true - } - }