Related Articles

# Check whether a given number is an ugly number or not

• Difficulty Level : Basic
• Last Updated : 03 Mar, 2021

Given an integer N, the task is to find out whether the given number is an Ugly number or not .

Ugly numbers are numbers whose only prime factors are 2, 3 or 5.

Examples:

Input: N = 14
Output: No
Explanation:
14 is not ugly since it includes another prime factor 7.

Input: N = 6
Output: Yes
Explanation:
6 is a ugly since it includes 2 and 3.

Approach: The idea is to use recursion to solve this problem and check if a number is divisible by 2,  3 or 5. If yes then divide the number by that and recursively check that a number is an ugly number or not. If at any time, there is no such divisor, then return false, else true.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to check``// if a number is an ugly``// number or not` `#include ``#include ` `// Function to check if a number``// is an ugly number or not``int` `isUgly(``int` `n)``{``    ``// Base Cases``    ``if` `(n == 1)``        ``return` `1;``    ``if` `(n <= 0)``        ``return` `0;` `    ``// Condition to check if the``    ``// number is divided by 2, 3, or 5``    ``if` `(n % 2 == 0) {``        ``return` `(isUgly(n / 2));``    ``}``    ``if` `(n % 3 == 0) {``        ``return` `(isUgly(n / 3));``    ``}``    ``if` `(n % 5 == 0) {``        ``return` `(isUgly(n / 5));``    ``}` `    ``// Otherwise return false``    ``return` `0;``}``// Driver Code``int` `main()``{``    ``int` `no = isUgly(14);``    ``if` `(no == 1)``        ``printf``(``"Yes"``);``    ``else``        ``printf``(``"No"``);``    ``return` `0;``}`

## Java

 `// Java implementation to``// check if a number is ugly number``class` `GFG {` `    ``// Function to check the ugly``    ``// number``    ``static` `int` `isUgly(``int` `n)``    ``{``        ``// Base Cases``        ``if` `(n == ``1``)``            ``return` `1``;``        ``if` `(n <= ``0``)``            ``return` `0``;` `        ``// Condition to check if``        ``// a number is divide by``        ``// 2, 3, or 5``        ``if` `(n % ``2` `== ``0``) {``            ``return` `(isUgly(n / ``2``));``        ``}``        ``if` `(n % ``3` `== ``0``) {``            ``return` `(isUgly(n / ``3``));``        ``}``        ``if` `(n % ``5` `== ``0``) {``            ``return` `(isUgly(n / ``5``));``        ``}``        ``return` `0``;``    ``}` `    ``// Driver Code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `no = isUgly(``14``);``        ``if` `(no == ``1``)``            ``System.out.println(``"Yes"``);``        ``else``            ``System.out.println(``"No"``);``    ``}``}`

## Python3

 `# Python3 implementation to check``# if a number is an ugly number``# or not` `# Function to check if a number``# is an ugly number or not``def` `isUgly(n):` `    ``# Base Cases``    ``if` `(n ``=``=` `1``):``        ``return` `1``    ``if` `(n <``=` `0``):``        ``return` `0` `    ``# Condition to check if the``    ``# number is divided by 2, 3, or 5``    ``if` `(n ``%` `2` `=``=` `0``):``        ``return` `(isUgly(n ``/``/` `2``))``        ` `    ``if` `(n ``%` `3` `=``=` `0``):``        ``return` `(isUgly(n ``/``/` `3``))``    ` `    ``if` `(n ``%` `5` `=``=` `0``):``        ``return` `(isUgly(n ``/``/` `5``))` `    ``# Otherwise return false``    ``return` `0` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:` `    ``no ``=` `isUgly(``14``)``    ` `    ``if` `(no ``=``=` `1``):``        ``print``(``"Yes"``)``    ``else``:``        ``print``(``"No"``)` `# This code is contributed by chitranayal`

## C#

 `// C# implementation to check``// if a number is ugly number``using` `System;` `class` `GFG{` `// Function to check the ugly``// number``static` `int` `isUgly(``int` `n)``{``    ` `    ``// Base Cases``    ``if` `(n == 1)``        ``return` `1;``    ``if` `(n <= 0)``        ``return` `0;` `    ``// Condition to check if``    ``// a number is divide by``    ``// 2, 3, or 5``    ``if` `(n % 2 == 0)``    ``{``        ``return` `(isUgly(n / 2));``    ``}``    ``if` `(n % 3 == 0)``    ``{``        ``return` `(isUgly(n / 3));``    ``}``    ``if` `(n % 5 == 0)``    ``{``        ``return` `(isUgly(n / 5));``    ``}``    ``return` `0;``}` `// Driver Code``public` `static` `void` `Main(String []args)``{``    ``int` `no = isUgly(14);``    ` `    ``if` `(no == 1)``        ``Console.WriteLine(``"Yes"``);``    ``else``        ``Console.WriteLine(``"No"``);``}``}` `// This code is contributed by amal kumar choubey`

## Javascript

 ``
Output:
`No`

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up