PAT (Advanced) 1024. Palindromic Number (25)

来源:互联网 发布:免费永久域名 编辑:程序博客网 时间:2024/05/21 07:48
#include <iostream>#include <string>#include <algorithm>using namespace std;bool is_palindromic(string s){int i = 0, j = s.length() - 1;while (i < j){if (s[i] != s[j])return false;i++;j--;}return true;}string add_reverse(string s){string res, rev = s;int len = s.length();reverse(rev.begin(), rev.end());int carry = 0;for (int i = len - 1; i >= 0; i--){int tmp = s[i] - '0' + rev[i] - '0' + carry;res += tmp % 10 + '0';carry = tmp / 10;}if (carry == 1)res += '1';reverse(res.begin(), res.end());return res;}int main(){string n;int k;cin >> n >> k;int cnt = 0;while (!is_palindromic(n) && cnt < k){n = add_reverse(n);cnt++;}cout << n << endl << cnt << endl;return 0;}
这个题目用long long都拿不能全过,必须要用字符串。
0 0
原创粉丝点击