diff options
Diffstat (limited to 'palindrome.c')
-rw-r--r-- | palindrome.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/palindrome.c b/palindrome.c deleted file mode 100644 index aad741a..0000000 --- a/palindrome.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -int isPalindrome(long num){ - long len = 0; - long n = num; - while(n != 0){ - n = n / 10; - len++; - } - char *numchar = (char *) malloc (len * sizeof(char)); - sprintf(numchar, "%ld", num); - //printf("%s\n", numchar); - // Backwards counter - long j = len - 1; - // Forwards counter - long i = 0; - - while(i < len){ - if(numchar[i] != numchar[j]) - return 0; - i++; - j--; - } - return 1; -} - -long *findProduct(long num){ - for(long i = 999; i > 100; i--) - for(long j = 999; j > 100; j--) - if(i * j == num){ - long *facts = (long *) malloc (2 * sizeof(long)); - facts[0] = i; - facts[1] = j; - return facts; - } -} - -long findMaxPalindrome(){ - long large = 0; - for(long i = 999; i > 100; i--){ - for(long j = 999; j > 100; j--){ - long test = i * j; - if(isPalindrome(test) && test > large){ - large = test; - } - } - } - return large; -} - -int main(){ - long answer = findMaxPalindrome(); - printf("%d\n", answer); - long *prod = findProduct(answer); - printf("The factors are %d and %d\n", prod[0], prod[1]); -} - |