29-01-2008, 16:59
|
|
|
חבר מתאריך: 15.08.06
הודעות: 1,561
|
|
אני חשבתי על משהו בסגנון הזה:
קוד:
int palindrome(int num) {
int exp=1;
while ((num /= 10) > 0) ++exp;
return palindrome_h(num, exp);
}
קוד:
int palindrome_h(int num, int exp) {
int msb = num % pow(10, exp);
int lsb = num % 10;
if (exp > 2)
{
int newNum = (num - msb) % 10;
return (msb == lsb && palindrome_h(newNum, exp-1));
}
return (msb == lsb);
}
כרגע אני בספק אם זה יעבוד כי לא בדקתי מקרי קצה וכמה צריך להעלות את exp וכו', אבל אני מקווה שהעברתי את הרעיון שלי
|