I a new c++ programmer, and i started to solve the SPOJ online challenges just practising , and because of my few experiance.. it gives me wrong answers alwayes.
See the Challenge here.
My Code :
#include<iostream>
#include <vector>
using namespace std;
int reverse(int input)
{
int last_digit;
int reversedNum = 0;
while (input != 0) {
last_digit = input % 10;
reversedNum = reversedNum * 10 + last_digit;
input = input / 10;
}
return reversedNum;
}
bool check(int input)
{
if (reverse(input) == input) {
return false;
}
else
{
return true;
}
}
int main()
{
vector<int> myvector;
int numberOfTestCases;
cin >> numberOfTestCases;
for (int i = 0; i < numberOfTestCases; i++) {
int num;
cin >> num;
myvector.push_back(num);
}
for (vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
{
int num = *it;
if (num > 1000000) {
cout << "number must less than 1000000" << endl;
}
else
{
do {
num++;
} while (check(num));
cout << num << endl;
}
}return 0;
}
in program execution:
input 2
for no. of test cases
input 808
the 1st test case
input 2133
the 2nd test case
the output
818
2222
but it gives me that is a wrong answer, and i can't determine why, or what i missed from requiremnets,
can any one help.. Thanks.