• Source
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4. using namespace std;
    5. bool checkPalin(int x)
    6. {
    7. vector<int> num;
    8. while(x!=0)
    9. {
    10. num.push_back(x%10);
    11. x/=10;
    12. }
    13. for(int i=0;i<num.size()/2;++i)
    14. if(num[i]!=num[num.size()-i-1])
    15. return false;
    16. return true;
    17. }
    18. bool mark[1000000];
    19. int main()
    20. {
    21. vector<int> palin;
    22. for(int i=100;i<=999;++i)
    23. for(int j=100;j<=999;++j)
    24. {
    25. int n=i*j;
    26. if(mark[n]==false)
    27. {
    28. mark[n]=true;
    29. if(checkPalin(n))
    30. palin.push_back(n);
    31. }
    32. }
    33. sort(palin.begin(),palin.end());
    34. int t;
    35. cin>>t;
    36. palin.push_back(1000000);
    37. for(int k=1;k<=t;++k)
    38. {
    39. int n;
    40. cin>>n;
    41. for(int i=0;i<palin.size();++i)
    42. if(n<palin[i])
    43. {
    44. cout<<palin[i-1]<<endl;
    45. break;
    46. }
    47. }
    48.  
    49. return 0;
    50. }