diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-05-25 11:48:09 +0100 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-05-25 11:48:09 +0100 |
| commit | ac2f9a029e31fbcdb2c48ce60b3993199de1d1b4 (patch) | |
| tree | 037b9d4b3cdf8322bdcfbeeebf635c977a428e09 | |
| parent | cdc995b6ac9e1f117fdf3ad89511d538b367b249 (diff) | |
| download | perlweeklychallenge-club-ac2f9a029e31fbcdb2c48ce60b3993199de1d1b4.tar.gz perlweeklychallenge-club-ac2f9a029e31fbcdb2c48ce60b3993199de1d1b4.tar.bz2 perlweeklychallenge-club-ac2f9a029e31fbcdb2c48ce60b3993199de1d1b4.zip | |
Java solution for Higher Number Set Bits
| -rw-r--r-- | challenge-114/ziameraj16/README.md | 25 | ||||
| -rw-r--r-- | challenge-114/ziameraj16/java/HigherIntegerSetBits.java | 21 |
2 files changed, 45 insertions, 1 deletions
diff --git a/challenge-114/ziameraj16/README.md b/challenge-114/ziameraj16/README.md index 336ee591a8..d066640c97 100644 --- a/challenge-114/ziameraj16/README.md +++ b/challenge-114/ziameraj16/README.md @@ -20,5 +20,28 @@ Enter the number Enter the number 999 1001 -/perlweeklychallenge-club/challenge-114/ziameraj16/java$ +``` + +# Higher Integer Sets Bits +## Java Solution + +To compile the code run +```java +javac HigherIntegerSetBits.java +``` +To run +```java +java HigherIntegerSetBits +``` +### Example +```bash +/perlweeklychallenge-club/challenge-114/ziameraj16/java$ javac HigherIntegerSetBits.java +/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java HigherIntegerSetBits +Enter the number +3 +5 +/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java HigherIntegerSetBits +Enter the number +12 +17 ``` diff --git a/challenge-114/ziameraj16/java/HigherIntegerSetBits.java b/challenge-114/ziameraj16/java/HigherIntegerSetBits.java new file mode 100644 index 0000000000..4d8f03fa63 --- /dev/null +++ b/challenge-114/ziameraj16/java/HigherIntegerSetBits.java @@ -0,0 +1,21 @@ +import java.util.Scanner; + +public class HigherIntegerSetBits { + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter the number"); + int number = scanner.nextInt(); + System.out.println(findNextNumberWithSameOnes(number)); + + } + + public static int findNextNumberWithSameOnes(int n) { + long value = Integer.toBinaryString(n).chars().filter(ch -> ch == '1').count(); + while(true) { + if (value == Integer.toBinaryString(++n).chars().filter(ch -> ch == '1').count()) { + return n; + } + } + } +} |
