Python Challenges: Get the Hamming numbers upto a given numbers also check whether a given number is a Hamming number
Python Challenges - 1: Exercise-25 with Solution
Write a Python program to get the Hamming numbers upto a given numbers also check whether a given number is a Hamming number.
Hamming numbers are numbers of the form
H = 2i x 3j x 5k
Where i, j, k ≥ 0
The sequence of Hamming numbers 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27. . . consists of all numbers of the form 2i.3j.5k where i, j and k are non-negative integers.
def is_hamming_numbers(x): if x == 1: return 1 if x % 2 == 0: return is_hamming_numbers(x/2) if x % 3 == 0: return is_hamming_numbers(x/3) if x % 5 == 0: return is_hamming_numbers(x/5) return 0 def hamming_numbers_sequence(x): if x == 1: return 1 hamming_numbers_sequence(x-1) if is_hamming_numbers(x) == True: print("%s" % x, end=' ') print(is_hamming_numbers(7)) print(is_hamming_numbers(1)) hamming_numbers_sequence(24) print()
0 1 2 3 4 5 6 8 9 10 12 15 16 18 20 24
Visualize Python code execution:
The following tool visualize what the computer is doing step-by-step as it executes the said program:
Python Code Editor:
Contribute your code and comments through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
Python: Tips of the Day
Given each iterable to construct a tuple by adding an index:
>>> a = ['Hello', 'world', '!'] >>> list(enumerate(a)) [(0, 'Hello'), (1, 'world'), (2, '!')]
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook