﻿ Java - Check whether a given number is an ugly number

# Java: Check whether a given number is an ugly number

## Java Numbers: Exercise-1 with Solution

Write a Java program to check whether a given number is ugly.

In number system, ugly numbers are positive numbers whose only prime factors are 2, 3 or 5. First 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12. By convention, 1 is included.

Test Data: Input an integer number: 235

Pictorial Presentation:

Sample Solution:

Java Code:

``````import java.util.Scanner;
public class Exercise1 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Input an integer number: ");
int n = in.nextInt();
if (n <= 0) {
System.out.print("Input a correct number.");
}
int x = 0;
while (n != 1) {
if (n % 5 == 0) {
n /= 5;
} else if (n % 3 == 0) {
n /= 3;
} else if (n % 2 == 0) {
n /= 2;
} else {
System.out.print("It is not an ugly number.");
x = 1;
break;
}
}
if (x==0)
System.out.print("It is an ugly number.");
System.out.print("\n");
}
}
```
```

Sample Output:

```Input an integer number: 235
It is not an ugly number.
```

Flowchart:

Java Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## Java: Tips of the Day

IsPowerOfTwo

Checks if a value is positive power of two.

To understand how it works let's assume we made a call IsPowerOfTwo(4).

As value is greater than 0, so right side of the && operator will be evaluated.

The result of (~value + 1) is equal to value itself. ~100 + 001 => 011 + 001 => 100. This is equal to value.

The result of (value & value) is value. 100 & 100 => 100.

This will value the expression to true as value is equal to value.

```public static boolean isPowerOfTwo(final int value) {
return value > 0 && ((value & (~value + 1)) == value);
}
```

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

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