Monday, May 16, 2011

Problem 4 (C++)

#include <iostream>
#include <math.h>
using namespace ::std;

int isPalindromic(int num)
{
        bool result = false;
        int digits[10];
        int i;
        int tNum = num;
        int pali = 0;

        for(i=0; tNum>0; i++)
        {
                digits[i] = tNum%10;
                tNum /= 10;
        }
        i -= 1;

        for(int n=i; n>=0; n--)
        {
                pali += digits[n] * pow(10.0,i-n);
        }

        if(num == pali){result = true;}
        return  result;
}

int main()
{
        int pNum = 0;
        int a,b,temp;
        bool isPali = false;
        bool ab = true;
        for(a=999; a>0; a--)
        {
                for(b=999; b>0; b--)
                {
                        temp = a*b;
                        isPali = isPalindromic(temp);
                        if(isPali == true && temp > pNum)
                        {
                                pNum = temp;
                        }
                }
        }

        cout << pNum;
        cin >> pNum;//pause
        return 0;
}

No comments:

Post a Comment