Peterson Number in C

In this tutorial, we will learn about the Peterson number and check if the number is Peterson or not in C.

What is Peterson Number?

A number is said to be a Peterson number if the sum of factorials of each digit of the number is equal to the number itself.

Peterson numbers examples:

Number = 145
145 = !1 + !4 + !5
= 1 + 4*3*2*1 + 5*4*3*2*1
= 1 + 24 + 120
= 145 = 145

Therefore, we can see that after the sum of the factorial of 145 is equal to the number 145 itself. Hence the Peterson Number.


C Program to check whether the number is Peterson Number or not

Peterson number program in C:

#include <stdio.h>

int main()
{
  int num, temp, rem, sum = 0, fact = 1;
  int i;

  printf("Enter a number: ");
  scanf("%d", &num);

  temp = num;
  while (temp != 0)
  {
    rem = temp % 10;
    for (i = 1; i <= rem; i++)
      fact *= i;

    sum += fact;
    fact = 1;
    temp /= 10;
  }

  //display
  if (num == sum)
    printf("%d is a Peterson Number", num);
  else
    printf("%d is Not a Peterson Number", num);

  return 0;
}

Output 1:

Enter a number: 145
145 is a Peterson number

Output 2:

Enter a number: 55
55 is not a Peterson number