Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,907 questions

51,839 answers

573 users

How to check if a number is strong number or not in C

1 Answer

0 votes
#include <stdio.h> 

// Strong numbers are the numbers that the sum of factorial of its digits 
// is equal to the original number

// 145 is a strong number: 1 + 24 + 120 = 145

long factorial(int n);

int main(int argc, char **argv) 
{ 
    int n = 145, reminder, sum = 0, tmp;
  
    tmp = n;
    
    while (n)
    {
      reminder = n % 10;
      sum = sum + factorial(reminder);
      n /= 10;
    }
    if (sum == tmp)
        printf("%d is a strong number", tmp);
    else
        printf("%d is not a strong number", tmp);
    
    return(0);
}

long factorial(int n)
{
    long fact = 1;
    
    for (int i = 2; i <= n; i++)
        fact = fact * i;
        
    return fact;
}

 
 
/*
 
run:
 
145 is a strong number
 
*/

 



answered May 6, 2017 by avibootz

Related questions

1 answer 146 views
1 answer 93 views
1 answer 156 views
1 answer 172 views
1 answer 546 views
1 answer 1,492 views
1 answer 138 views
...