日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程

發布時間:2025/4/5 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 題目分析
    • 題目鏈接

題目分析

此題和PAT甲級1024 Palindromic Number:[C++題解]回文串和高精度加法 一樣。區別是多了輸出整個計算過程。

下面是主要知識點。

一個判斷是否是回文數的函數:check,思路是使用雙指針從兩端分別往里走。

另一個是高精度加法函數add,傳入兩個vector。

另外,vector逆序構造可以直接使用 vector的構造函數的一種

vector<int> a; //逆序構造vector vector<int> b(a.rbegin(),a.rend());

ac代碼

#include<bits/stdc++.h> using namespace std;bool check(vector<int>& a){for(int i=0 , j =a.size()-1; i<j; i++ ,j--)if(a[i] != a[j]) return false;return true; }vector<int> add(vector<int>& a, vector<int>& b){vector<int> c;int t =0;for(int i=0; i<a.size() || i<b.size(); i++){int s = t;if(i<a.size()) s+=a[i];if(i<b.size()) s+=b[i];c.push_back( s%10);t= s/10;}if(a.size() == b.size() && t) c.push_back(1);for(int i=a.size()-1;i>=0; i--) cout<<a[i];cout<<" + ";for(int i=b.size()-1;i>=0;i--) cout<<b[i];cout<<" = ";for(int i=c.size()-1;i>=0;i--) cout<<c[i];cout<<endl;return c; }int main(){string A;cin>>A;vector<int> a;for(int i=A.size()-1;i>=0; i--) a.push_back(A[i]-'0'); if(!check(a)){int cnt = 0;while(cnt<10){vector<int> b(a.rbegin(),a.rend());a = add(a ,b);cnt++;if(check(a)){for(int i=a.size()-1;i>=0;i--) cout<<a[i];printf(" is a palindromic number.");break;}}if(cnt==10) printf("Not found in 10 iterations.");}else{for(int i=a.size()-1;i>=0;i--) cout<<a[i];printf(" is a palindromic number.");}}

題目鏈接

PAT甲級1136 A Delayed Palindrome

總結

以上是生活随笔為你收集整理的PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。