C++版浙大PAT乙级1079(20分)
发布日期:2021-05-17 06:37:07 浏览次数:19 分类:精选文章

本文共 1142 字,大约阅读时间需要 3 分钟。

在编写加法程序时,面对大整数运算,使用字符串是非常有必要的。通过这次实践,我深刻体会到了字符串处理在编程中的重要性,也让我更加熟悉了reverse函数的应用。

代码分析

#include 
#include
#include
using namespace std;
bool isHuiWen(string str) {
for(int i=0, j=str.size()-1; i
=0 || j>=0 || jin>0; i--, j--) {
sum = 0;
if(i>=0) sum += a[i] - '0';
if(j>=0) sum += b[j] - '0';
sum += jin;
jin = sum / 10;
res = to_string(sum % 10) + res;
}
return res;
}
int main() {
int count = 0;
string a, b, c;
cin >> a;
while(!isHuiWen(a)) {
b = a;
reverse(b.begin(), b.end());
c = jia(a, b);
cout << a << " + " << b << " = " << c << endl;
count++;
if(count >= 10) {
cout << "Not found in 10 iterations." << endl;
break;
}
a = c;
}
if(count < 10) {
cout << a << " is a palindromic number." << endl;
}
return 0;
}

代码逻辑

  • isHuiWen函数:用于检查字符串是否为回文。通过对称比较字符,实现轻松的回文判断。
  • jia函数:用于字符串大数相加。从末尾开始逐位相加,利用进位处理大数运算。
  • main函数:主程序输入测试数字,并进行轮转对称加法。输出每一步结果,直到找到回文或达到限制次数。
  • 通过这种方法,我们能直观地观察数值的变化,验证对称加法的正确性。最终找到满足条件的回文数。

    上一篇:C++版浙大PAT乙级1080(25分)
    下一篇:C++版浙大PAT乙级1078(20分)

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年04月21日 03时01分50秒