In this tutorial, we will learn about Sunny numbers and create a Java program to check for sunny numbers. We will see two java examples on Sunny Number.
What is Sunny Number?
A number N
is said to be a sunny number if the number next to the given number (N+1)
is a perfect square.
Example: Let us take a Number 8, then the next number is 8+1=9
and as 3 is a square root of 9, hence 8 is a sunny Number.
Another example, let the number be 5, then 5+1=6
, that has no square roots, hence 5 is not a sunny Number.
Java Program to Check Whether the Number is Sunny Number or Not.
The program uses Math.sqrt()
function that is an inbuilt function in Java.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.util.Scanner; public class SunnyNumber { // Method to check for Sunny public static boolean isSunnyFunc(int n) { if (Math.sqrt(n + 1) % 1 == 0) return true; else return false; } // main method public static void main(String[] args) { int num = 0; boolean result = false; Scanner scan = new Scanner(System.in); //taking input System.out.print("Enter the number: "); num = scan.nextInt(); // calling calculation Function by passing number result = isSunnyFunc(num); //print the result if (result) System.out.println(num + " is a Sunny number"); else System.out.println(num + " is not a Sunny number"); } } |
Output:
Enter the number: 80
80 is a Sunny number
//Another Execution
Enter the number: 6
6 is not a Sunny number
Java Program to find all the Sunny Number between a given Range
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.util.Scanner; public class SunnyNumber { // Method to check for Sunny public static boolean isSunnyFunc(int n) { if (Math.sqrt(n + 1) % 1 == 0) return true; else return false; } // main method public static void main(String[] args) { int lrNum, upNum; boolean result = false; Scanner scan = new Scanner(System.in); // take input from end-user System.out.print("Enter the lower range: "); lrNum = scan.nextInt(); System.out.print("Enter the upper range: "); upNum = scan.nextInt(); System.out.println("The Sunny number between " + lrNum + " and " + upNum + " are: "); for (int i = lrNum; i <= upNum; i++) { if (isSunnyFunc(i)) System.out.print(i + " "); } } } |
Output:
Enter the lower range: 1
Enter the upper range: 100
The Sunny number between 1 and 100 are:
3 8 15 24 35 48 63 80 99
Hope this article on the java program for the sunny number was helpful.