3 回答

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

TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊
對于任何給定的數(shù)字:
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貢獻(xiàn)1803條經(jīng)驗 獲得超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!")
僅適用于整數(shù)。從問題陳述中不清楚是否需要考慮浮點數(shù)或前導(dǎo)零。
添加回答
舉報