Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

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.

Explanation:

Python: Hamming numbers upto a given numbers

Sample Solution:-

Python Code:

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()

Sample Output:

0   
1      
2 3 4 5 6 8 9 10 12 15 16 18 20 24

Flowchart:

Python Flowchart: Get the Hamming numbers upto a given numbers also check whether a given number is a Hamming number

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.

Previous: Write a Python program to check whether a given number is an ugly number.
Next: Write a Python program to check if a given string is an anagram of another given string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

Find current directory and file's directory:

To get the full path to the directory a Python file is contained in, write this in that file:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)

To get the current working directory use

import os
cwd = os.getcwd()

Documentation references for the modules, constants and functions used above:

  • The os and os.path modules.
  • The __file__ constant
  • os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
  • os.path.dirname(path) (returns "the directory name of pathname path")
  • os.getcwd() (returns "a string representing the current working directory")
  • os.chdir(path) ("change the current working directory to path")

Ref: https://bit.ly/3fy0R6m