Sunny Number Program in C

Let us go through a C program to check whether the number is Sunny Number or Not.

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.


Program to check whether the number is Sunny Number or Not.

#include <stdio.h>
#include <math.h>
#include <stdbool.h >	//for the use of boolean type

bool is_sunny(int);

int main(void)
{
  int n;
  printf("Enter the number: ");
  scanf("%d", &n);

  if (is_sunny(n))
    printf("%d is a sunny number.", n);
  else
    printf("%d is not a sunny number.", n);

  return 0;

}

bool is_sunny(int n)
{
  int square = sqrt(n + 1);

  return (square *square == n);
}

Output:

Enter the number: 16
16 is a sunny number.


Display all the sunny number within a range of 0 to 100 in C programming

#include <stdio.h>
#include <math.h>
#include <stdbool.h >	//for the use of boolean type

bool is_sunny(int);

int main(void)
{
  int n;

  printf("List of sunny number from 0 to 100 range: \n");
  for (n = 0; n < 100; ++n)
  {
    if (is_sunny(n))
      printf("%d\n", n);
  }

  return 0;

}

bool is_sunny(int n)
{
  int square = sqrt(n + 1);

  return (square *square == n);
}

Output:

List of sunny number from 0 to 100 range:
1
4
9
16
25
36
49
64
81