- Java Programs - Advanced
- Java Programs - Home
- Pernicious Number Program
- Check Matrix Column Sum Program
- Flipgram (Heterogram) Program
- Circular Queue Program
- Flight Passenger Inheritance Program
- Goldbach Number Program
- Shift Matrix Rows Up Program
- Pangram String Program
- Later Date Program
- Symmetric Matrix Program
- Cell Phone Keypad Program
- Unique Digit Integer Program
- Max & Min Elements in Matrix Program
- Anagram Strings Program
- Mask String Program Specimen
- Mix Array Program Specimen
- LCM using Recursion Program Specimen
- Recycle Dequeue Program Specimen
- Library Compute Inheritance Program Specimen
- Linked List & Binary Tree Question Specimen
- Decimal to Hexadecimal Program
- Insertion Sort Program
- Lowest & Highest ASCII Value Program
- Card Game Stack Program
- Employee Salary Overtime Inheritance Program
- Binary Tree 2024 Questions
- Hamming Number Program
- Doubly Markov Matrix Program
- Snowball String Program
- Future Date Program
- Lucky Number Program
- Bar Graph of Vowels & Consonants Program
- Vampire Number Program
- Rotate Matrix by 270 Degree Anticlockwise Program
- Keyword Cipher Program
- Increasing, Decreasing & Bouncy Number Program
- Fill Matrix with Characters Program
- Decode Encoded Text Program
- Project Submission Date Program
- Sort Matrix Boundary Elements Program
- Insert Word in a Sentence Program
- Composite Magic Number Program
- Mirror Image of a Matrix Program
- Common Words in a Paragraph Program
- Dudeney Number Recursive Program
- Matrix Transpose Program
- Sort Words Alphabetically Program
- DeQueue Data Structure Program
- Demand Supply Inheritance Program
- Linked List & Binary Tree Question
- Pronic Number in Java using Recursion
- Unique Word Program
- No Repeated Alphabets Program
- Calculate Series Program
- Reverse Number using Recursion Program
- Item Taxable Inheritance Program
- Stack Data Structure Program
- Evil Number Program
- Merge Two Arrays Program
- Remove Repeated Alphabets Program
- Rack Stack Data Structure Program
- Stock Sales Inheritance Program
- Date and Month Program
- Binary Search using Recursion Program
- Mix Two Words Program
- Circular Queue Program
- Data Interface Program
- Prime Adam Number Program
- Octal to Decimal Conversion Program
- Arrange Words Length-wise Program
- Armstrong Number Program
- Reverse Matrix Elements Program
- Rearrange Vowels & Consonants Program
- Record & Highest Inheritance Program
- Diary Class Queue Program
- Linked List and Binary Tree Program
- Generate Date Program
- Array Format Program
- Generate Palindrome Words
- Perfect Number Program on Recursion
- Checking for Equal Matrices
- Words Beginning with Capital Letter
- Number Series Inheritance Program
- Register Stack Program
- Goldbach Number Program
- Sorting Two-Dimensional Matrix Program
- Vertical Banner Program
- Palindrome using Recursion Program
- Adder Program
- Swap Sort Program
- Product Sales Inheritance Program
- Queue Program on Array
- Cartons Program
- Quiz Program
- Caesar Cipher Program
- Disarium Number Recursive Program
- Shift Matrix Shuffle Program
- ConsChange Program
- Bank Account Inheritance Program
- Bookshelf Stack Program
- Circular Prime Program
- Sort Non-boundary Matrix Elements Program
- Words Beginning and Ending with Vowels Program
- Admission Recursive Binary Search Program
- Merger Class Concatenation Program
- String Frequency Program
- WordPile Stack Program
- Plane Circle Inheritance Program
- Smallest Integer Program
- Rotate Matrix 90 Degrees Program
- Vowels and Consonants Per Word Program
- Merging Sorted Arrays Program
- Series Sum Program
- Fibonacci Strings Program
- Stock Purchase Inheritance Program
- Array to Stack Program
- Composite Magic Program
- Symmetric Matrix Program
- Deleting Word from String Program
- Emirp Number Program
- Exchange Alphabets Program
- Matrix Difference Program
- Perimeter Area Inheritance Program
- Dequeue Queue Program
- ISBN Code Program
- Mirror Image Matrix Program
- Palindrome Words Program
- Combine Array Program
- Vowel Word Program
- Happy Number Program
- Link Queue Program
- Detail Bill Inheritance Program
- Prime Palindrome Program
- Arrange Words Alphabetically Program
- Sort Matrix Elements Program
- Frequency of “And” and “An” Program
- Decimal to Octal Conversion Program
- Pseudo Arithmetic Sequence Program
- Record Rank Inheritance Program
- Stack Program Storing Names
- Number to Words Conversion Program
- Magic Number Program
- Special Number Program
- Triangular Number Program
Java Programs - Advanced
![]() Share with a Friend |
Hamming Number Program - Java Program
Hamming numbers are positive integers whose prime factors include 2, 3 and 5 only.
Example:
n = 6 is a hamming number as 6 = 2 × 3. So, its prime factors are limited to 2, 3.
n = 8 is a hamming number as 8 = 2 × 2 × 2 and it has only 2 as its prime factors.
n = 90 is a hamming number as 90 = 2 × 3 × 3 × 5 which has only 2, 3, 5 as prime factors.
n = 14 is not a hamming number as 14 = 2 × 7. It has 7 as one of its prime factors.
n = 44 is not a hamming number as 44 = 2 × 2 × 11. It has 11 as one of its prime factors.
Design a program to accept any positive integer number and check if it is a Hamming number or not. Display the result with an appropriate message in the format specified below. The program should also generate error message if a negative number is entered.
Test your program for the following data and some random data:
Example 1
INPUT: Enter any number: 3600
OUTPUT: 3600 = 2 × 2 × 2 × 2 × 3 × 3 × 5 × 5
3600 IS A HAMMING NUMBER
Example 2
INPUT: Enter any number: 5832
OUTPUT: 5832 = 2 × 2 × 2 × 3 × 3 × 3 × 3 × 3 × 3
5832 IS A HAMMING NUMBER
Example 3
INPUT: Enter any number: 7854
OUTPUT: 7854 = 2 × 3 × 7 × 11 × 17
7854 IS NOT A HAMMING NUMBER
Example 4
INPUT: Enter a number: -120
OUTPUT: NEGATIVE NUMBER ENTERED. INVALID INPUT
import java.util.Scanner; class Hamming{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("Enter a number: "); int n = Integer.parseInt(in.nextLine()); if(n < 0){ System.out.println("NEGATIVE NUMBER ENTERED. INVALID INPUT"); return; } boolean status = true; if(n < 2) status = false; int pf = 2; int num = n; int count = 0; while(num > 1){ if(num % pf == 0){ count++; if(count == 1) System.out.print(pf); else System.out.print(" x " + pf); num /= pf; if(pf != 2 && pf != 3 && pf != 5) status = false; } else pf++; } if(status) System.out.println("\n" + n + " IS A HAMMING NUMBER"); else System.out.println("\n" + n + " IS NOT A HAMMING NUMBER"); } }
Output
OUTPUT 1: Enter a number: 3600 2 x 2 x 2 x 2 x 3 x 3 x 5 x 5 3600 IS A HAMMING NUMBER Enter a number: 5832 2 x 2 x 2 x 3 x 3 x 3 x 3 x 3 x 3 5832 IS A HAMMING NUMBER Enter a number: 7854 2 x 3 x 7 x 11 x 17 7854 IS NOT A HAMMING NUMBER
