本可以java大数就能搞定的问题
当时用java写完答案明明对了提交总是答案错误
很是无语

题意

任给我们一个数
让我们对这个数进行翻转相加
如果加和是个回文数 就找到了程序出口
如果不是继续迭代
输出过程 如果迭代10次没有找到就输出特定信息

分析

就是模拟高精度加法
场上没想清楚为什么要那么加
两个数相加只可能比原数多进一位
完全可以用正序和逆序两个数组里一加
不必管 低位高位 对齐的情况
因为是一个数与自己的逆序相加 所以一定位数相同且从低位加还是从高位加结果相同
如果是不同数的加法或是乘法
我们需要从两个数的最高位置 向低位运算 因为高位为原数据的低位
所以最后再反向输出

code

#include<bits/stdc++.h>
using namespace std;
char a[1010],b[1010];
bool check(char aa[]){int len = strlen(aa);for(int i=0;i<len-1-i;i++){if(aa[i]!=aa[len-1-i])return 0;}return 1;
}//回文检验
int main()
{gets(a);bool f=0;int c=0;while(!check(a)){if( c==10 ){printf("Not found in 10 iterations.");f=1;break;}int lena = strlen(a)-1,tag=0;for(int i=lena;i>=0;i--){b[tag++] = a[i];}//将原数逆序 b[tag] = '\0';printf("%s + %s",a,b);int i,y = 0;for(i=0;i<=lena;i++){//模拟加法int dig = (a[i]-'0')+(b[i]-'0')+y;a[i] = '0'+dig%10;if(dig>9)y=1;else y = 0;}if(y)a[i] = '0'+y,a[++i] = '\0';//余数处理else a[i] = '\0';//行尾结束控制i--;//找回重点for(int j=0;j<i-j;j++){//把顺序换回来swap(a[j],a[i-j]);}       printf(" = %s\n",a);c++;}if(!f)printf("%s is a palindromic number.",a);return 0;
}

pat-1136. A Delayed Palindrome (20) 模拟相关推荐

  1. 1136. A Delayed Palindrome (20) 大数模拟

    1136. A Delayed Palindrome (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...

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

    文章目录 题目分析 题目链接 题目分析 此题和PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法 一样.区别是多了输出整个计算过程. 下面是主要知识点. 一个判 ...

  3. 1136 A Delayed Palindrome (20 分)

    Consider a positive integer N written in standard notation with k+1 digits a​i​​ as a​k​​⋯a​1​​a​0​​ ...

  4. 1136 A Delayed Palindrome 需再做

    注意点: 1. 大整数即高精度整数,数据结构bign要会定义 2. 记得写构造函数或者通过别的方式初始化bign 3. len属性记得手动更新 4. int d[maxn]数组是顺位存储,意味着字符串 ...

  5. 1136 A Delayed Palindrome

    题意:略. 思路:大整数相加,回文数判断.对首次输入的数也要判断其是否是回文数,故这里用do...while,而不用while. 代码: #include <iostream> #incl ...

  6. pat 1074. 宇宙无敌加法器(20)

    1074. 宇宙无敌加法器(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 地球人习惯使用十进制数,并且默 ...

  7. PAT甲级1080 Graduate Admission【模拟】

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805387268571136 题意: 模拟高考志愿录取. 考生根据总 ...

  8. PAT——1074. 宇宙无敌加法器(20)

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...

  9. PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...

最新文章

  1. git使用的详细过程
  2. 基于最优化方法的超宽带通信信号设计
  3. MySQL中的用户管理
  4. python查看模块功能_Python模块Os系统功能
  5. 第五课 路由之初识路由
  6. LeetCode 1227. 飞机座位分配概率(DP+数学归纳法)
  7. (带后台)苹果安卓APP下载页 app应用下载界面源码
  8. IP釋放、清除、以及刷新DNS
  9. cscd论坛_高压电器第九届电工技术前沿问题学术论坛“先进电磁技术”分论坛及专题征稿...
  10. html特殊字符转义倒三角,html,转义字符对照表,部分x
  11. lacp协议文档概要
  12. win10 系统重装后,如何恢复mysql 数据库(mysql-8.0.26-winx64.zip)
  13. Linux(2)- Linux基础命令
  14. 网络和共享中心 服务器运行失败,win10网络共享失败提示共享依赖服务无法启动的解决办法...
  15. PHP房贷计算器代码,等额本息,等额本金
  16. ruby + cucumber环境搭建
  17. 左手手型投篮姿势教程
  18. JMeter测试多用户登录
  19. 编译安装Linux内核(以5.10.104版本为例)
  20. 小波变换(wavelet transform)的通俗解释(一)

热门文章

  1. 树状数组成段更新模板
  2. java 入门 第二季3
  3. linux 进程线程拓展
  4. java 抽象类语法_JAVA基础语法8--多态/抽象类/抽象方法
  5. linux vue node占用内存过大,vue 大型应用内存泄漏改造经验
  6. php删除二位数组相同元素,删除去除二维数组中相同元素与数组重复值实例-PHP源码...
  7. jqprint控件使用
  8. (JAVA)CollectionDemo3
  9. 移植uboot之修改代码支持NorFlash记录
  10. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib