3 回答

TA貢獻1821條經驗 獲得超6個贊
這是項目歐拉問題之一。當我在Haskell中解決它時,我完全按照你的建議,將數字轉換為字符串。然后檢查該字符串是否為pallindrome是微不足道的。如果它表現得足夠好,那為什么還要把它變得更復雜呢?作為一個pallindrome是一個詞匯屬性而不是數學屬性。

TA貢獻1829條經驗 獲得超9個贊
對于任何給定的數字:
n = num;
rev = 0;
while (num > 0)
{
dig = num % 10;
rev = rev * 10 + dig;
num = num / 10;
}
如果n == rev那時num是回文:
cout << "Number " << (n == rev ? "IS" : "IS NOT") << " a palindrome" << endl;

TA貢獻1803條經驗 獲得超3個贊
def ReverseNumber(n, partial=0):
if n == 0:
return partial
return ReverseNumber(n // 10, partial * 10 + n % 10)
trial = 123454321
if ReverseNumber(trial) == trial:
print("It's a Palindrome!")
僅適用于整數。從問題陳述中不清楚是否需要考慮浮點數或前導零。
添加回答
舉報