输入一个x 输出共一行,包含一个字符串y,如果整数x是左右对称的,则y为"Yes",否则为"No"。
实现思路和代码如下,望采纳
要判断一个数是否是左右对称的,我们可以将它转换为字符串,然后比较它的前半部分和后半部分是否相同。
#include <iostream>
#include <string>
int main() {
int x;
std::cin >> x;
// 将x转换为字符串
std::string s = std::to_string(x);
// 判断字符串s的前半部分和后半部分是否相同
bool is_symmetric = true;
for (int i = 0; i < s.length() / 2; i++) {
if (s[i] != s[s.length() - i - 1]) {
is_symmetric = false;
break;
}
}
// 输出结果
std::cout << (is_symmetric ? "Yes" : "No") << std::endl;
return 0;
}
程序的总体时间复杂度是O(n),其中n是x的位数。
ChatGPT尝试为您解答,仅供参考
#include <iostream>
#include <string>
using namespace std;
int main() {
// 从用户输入中读入整数x
int x;
cout << "请输入一个整数: ";
cin >> x;
// 将整数x转换为字符串
string x_str = to_string(x);
// 检查字符串x_str是否左右对称
bool is_symmetric = true;
for (int i = 0; i < x_str.length() / 2; i++) {
if (x_str[i] != x_str[x_str.length() - 1 - i]) {
is_symmetric = false;
break;
}
}
// 输出结果
if (is_symmetric) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}