AcWing 5023. 达到回文数
原题链接
简单
作者:
知识雪豹
,
2024-02-12 20:39:59
,
所有人可见
,
阅读 40
通过字符串拼接来实现回文操作
#include<bits/stdc++.h>
using namespace std;
// 判断是否是回文数
bool is_reverse(int n){
string str = to_string(n);
bool flag = true;
for (int i = 0; i < str.size() / 2; i ++){
if(str[i] != str[str.size() - 1 - i])
flag = false;
}
return flag;
}
// 变成回文数
int reverse(int n){
string str = to_string(n);
string new_str = "";
// 从后往前拼接字符串
for (int i = str.size() - 1; i >= 0; i --){
new_str += str[i];
}
return stoi(new_str);
}
int main(){
int num = 0, res = 0, count = 0;
cin >> num;
// 循环判断是否是回文
while(!is_reverse(num)){
res = num + reverse(num);
count ++; // 计数
num = res;
}
cout << count << " " << res;
return 0;
}