Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int factorialCheck(int);
- int main(void)
- {
- int num = 0;
- int index;
- for (index = 1; index <= 99999; index++)
- {
- num = index;
- if (fact(num) == num)
- {
- printf("%d\n", num);
- }
- }
- return 0;
- }
- int fact(int number)
- {
- char string[6];
- char numsPlace[5];
- char charNum;
- int count;
- int factSum = 0;
- int flag = 0;
- string[5] = '\0';
- for(count = 4; count >= 0; count--)
- {
- numsPlace[count] = number % 10;
- number = number / 10;
- string[count] = numsPlace[count] + 48;
- }
- for (count = 0; count < 5; count++)
- {
- if (string[count] != '0')
- {
- flag = 1;
- }
- if (flag == 1)
- {
- charNum = string[count];
- switch (charNum)
- {
- case '0':
- case '1':
- factSum = factSum + 1;
- break;
- case '2':
- factSum = factSum + (1 * 2);
- break;
- case '3':
- factSum = factSum + (1 * 2 * 3);
- break;
- case '4':
- factSum = factSum + (1 * 2 * 3 * 4);
- break;
- case '5':
- factSum = factSum +
- (1 * 2 * 3 * 4 * 5);
- break;
- case '6':
- factSum = factSum +
- (1 * 2 * 3 * 4 * 5 * 6);
- break;
- case '7':
- factSum = factSum +
- (1 * 2 * 3 * 4 * 5 * 6 * 7);
- break;
- case '8':
- factSum = factSum +
- (1 * 2 * 3 * 4 * 5 * 6 * 7 * 8);
- break;
- case '9':
- factSum = factSum +
- (1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9);
- break;
- default:
- break;
- }
- }
- }
- return factSum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement