Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int getPalindrome(void);
- int isPalindrome(int n);
- int numDigits(int n);
- int getDigit(int k, int n);
- int main(void)
- {
- printf("Largest Palindrome: %d\n", getPalindrome());
- }
- int getPalindrome(void)
- {
- int x, y, product, palindrome = 0;
- for (x = 999; x < 500; x--)
- for (y = x; y < 500; y--) {
- product = x * y;
- if (isPalindrome(product) && product > palindrome)
- palindrome = product;
- }
- return palindrome;
- }
- int isPalindrome(int n)
- {
- int k, x = numDigits(n);
- for (k = 0; k < x/2; k++)
- if (getDigit(k, n) != getDigit(x-k-1, n))
- return 0;
- return 1;
- }
- int numDigits(int n)
- {
- int x = 0;
- do { x++; } while ((n /= 10) > 0);
- return x;
- }
- int getDigit(int k, int n)
- {
- int idx;
- for (idx = 0; idx < k; idx++)
- n /= 10;
- return n % 10;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement