Advertisement
Anthei

Factorial Checks

May 22nd, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int factorialCheck(int);
  5.  
  6. int main(void)
  7. {
  8.     int num = 0;
  9.     int index;
  10.  
  11.     for (index = 1; index <= 99999; index++)
  12.     {
  13.         num = index;
  14.  
  15.         if (fact(num) == num)
  16.         {
  17.             printf("%d\n", num);
  18.         }
  19.     }
  20.  
  21.     return 0;
  22. }
  23.  
  24. int fact(int number)
  25. {
  26.     char string[6];
  27.     char numsPlace[5];
  28.     char charNum;
  29.     int count;
  30.     int factSum = 0;
  31.     int flag = 0;
  32.    
  33.     string[5] = '\0';
  34.  
  35.     for(count = 4; count >= 0; count--)
  36.     {
  37.         numsPlace[count] = number % 10;
  38.         number = number / 10;
  39.         string[count] = numsPlace[count] + 48;
  40.     }
  41.  
  42.     for (count = 0; count < 5; count++)
  43.     {
  44.         if (string[count] != '0')
  45.         {
  46.             flag = 1;
  47.         }
  48.  
  49.         if (flag == 1)
  50.         {
  51.             charNum = string[count];
  52.             switch (charNum)
  53.             {
  54.                 case '0':
  55.                 case '1':
  56.                     factSum = factSum + 1;
  57.                     break;
  58.                 case '2':
  59.                     factSum = factSum + (1 * 2);
  60.                     break;
  61.                 case '3':
  62.                     factSum = factSum + (1 * 2 * 3);
  63.                     break;
  64.                 case '4':
  65.                     factSum = factSum + (1 * 2 * 3 * 4);
  66.                     break;
  67.                 case '5':
  68.                     factSum = factSum +
  69.                         (1 * 2 * 3 * 4 * 5);
  70.                     break;
  71.                 case '6':
  72.                     factSum = factSum +
  73.                         (1 * 2 * 3 * 4 * 5 * 6);
  74.                     break;
  75.                 case '7':
  76.                     factSum = factSum +
  77.                         (1 * 2 * 3 * 4 * 5 * 6 * 7);
  78.                     break;
  79.                 case '8':
  80.                     factSum = factSum +
  81.                         (1 * 2 * 3 * 4 * 5 * 6 * 7 * 8);
  82.                     break;
  83.                 case '9':
  84.                     factSum = factSum +
  85.                         (1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9);
  86.                     break;
  87.                 default:
  88.                     break;
  89.             }
  90.         }
  91.     }
  92.  
  93.     return factSum;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement