gpt4 book ai didi

c++ - 检查数字是否为回文

转载 作者:太空狗 更新时间:2023-10-29 20:13:56 25 4
gpt4 key购买 nike

我尝试使用以下代码检查数字是否为回文:

unsigned short digitsof (unsigned int x)
{
unsigned short n = 0;
while (x)
{
x /= 10;
n++;
}
return n;
}

bool ispalindrome (unsigned int x)
{
unsigned short digits = digitsof (x);

for (unsigned short i = 1; i <= digits / 2; i++)
{
if (x % (unsigned int)pow (10, i) != x % (unsigned int)pow (10, digits - 1 + i))
{
return false;
}
}
return true;
}

但是,以下代码无法检查回文 - 即使数字是回文,也始终返回 false。

谁能指出错误?

(请注意:我没有兴趣将它变成一个字符串并反转它以查看问题出在哪里:相反,我有兴趣知道上面代码中的错误出在哪里。)

最佳答案

我个人只会根据数字构建一个字符串,然后将其视为正常的回文检查(检查前半部分中的每个字符是否与 length()-index 中的字符相匹配)。

关于c++ - 检查数字是否为回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18849565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com