diff options
author | mjfernez <mjfernez@gmail.com> | 2020-02-09 15:16:26 -0500 |
---|---|---|
committer | mjfernez <mjfernez@gmail.com> | 2020-02-09 15:16:26 -0500 |
commit | 93ea7fe5957b62f18e8fbd17a21696bd7de6332d (patch) | |
tree | d90aed60d687bcf195f1150777f37cbe8a149814 /palindrome.c | |
parent | 125ec5bc3d8bfc224b7d32bcfbbc37b9fb5d441f (diff) | |
download | Project_Euler_Solutions-93ea7fe5957b62f18e8fbd17a21696bd7de6332d.tar.gz |
Organized everything, update README
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]); -} - |