艺术毕业设计作品网站,哪家公司做企业网站稳定优惠,wordpress运行php代码,凡科做网站回文数 0.题目1.WJQ的思路2.实现过程2.0 原始值怎么一个个取出来#xff1f;2.1 取出来的数如何存到新的数字后面#xff1f;2.2完整的反转得到新数的过程 3.完整的代码4.可运行的代码5.算法还可以优化的部分 0.题目
给你一个整数 x #xff0c;如果 x 是一个回文整数… 回文数 0.题目1.WJQ的思路2.实现过程2.0 原始值怎么一个个取出来2.1 取出来的数如何存到新的数字后面2.2完整的反转得到新数的过程 3.完整的代码4.可运行的代码5.算法还可以优化的部分 0.题目
给你一个整数 x 如果 x 是一个回文整数返回 true 否则返回 false 。回文数是指正序从左向右和倒序从右向左读都是一样的整数。 例如121 是回文而 123 不是。
示例 1 输入x 121 输出true
示例 2 输入x -121 输出false 解释从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3 输入x 10 输出false 解释从右向左读, 为 01 。因此它不是一个回文数。
1.WJQ的思路 思路可行如何实现
2.实现过程
2.0 原始值怎么一个个取出来
取高位 xx/10除以10再取整 取低位 xx%10除以10再取余
原始值从最低位开始取新的数从最高位开始存
2.1 取出来的数如何存到新的数字后面
reversed reversed * 10 x % 10;对于新的数字我将原有的数字乘10加上取余得到的数
2.2完整的反转得到新数的过程
int original x; // 存储原始值
long reversed 0; // 反转后新的数while (x ! 0) {reversed reversed * 10 x % 10;x / 10; //只是xx/10的缩写形式没什么高端的意思}3.完整的代码
bool isPalindrome(int x) {int original x; // 存储原始值long reversed 0; // 用长整型防止溢出// 反转整数while (x ! 0) {reversed reversed * 10 x % 10;x / 10;}// 比较反转后的值与原始值return original reversed;
}4.可运行的代码
#include iostreambool isPalindrome(int x) {// 负数不是回文数if (x 0) return false;int original x; // 存储原始值long reversed 0; // 用长整型防止溢出// 反转整数while (x ! 0) {reversed reversed * 10 x % 10;x / 10;}// 比较反转后的值与原始值return original reversed;
}int main() {int number;std::cout Enter a number: ;std::cin number;if (isPalindrome(number)) {std::cout number is a palindrome. std::endl;} else {std::cout number is not a palindrome. std::endl;}return 0;
}5.算法还可以优化的部分
负数能直接判断不是回文数两边都只判断一半