Advertisement
dtung

strong number

Nov 11th, 2020
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.57 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. /* fac(n) : factorial of n. n >= 0 */
  5. int fac(int n) {
  6.     int p = 1;
  7.     for (; n > 0; n--)
  8.         p *= n;
  9.     return p;
  10. }
  11.  
  12. /* strnum(n) : test strong number of n */
  13. bool strnum(int n) {
  14.     int diff;
  15.     for (diff = n; n/10 != 0; n /= 10)
  16.         diff -= fac(n%10);
  17.     diff -= fac(n);
  18.     return (diff == 0);
  19. }
  20.  
  21. int main() {
  22.     int n;
  23.  
  24.     printf("find strong number up to ");
  25.     scanf("%d", &n);
  26.     for (int i = 0; i <= n; i++)
  27.         if (strnum(i)) printf("%d is a strong number\n", i);
  28.  
  29.     return 0;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement