pat-1136. A Delayed Palindrome (20) 模拟
本可以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) 模拟相关推荐
- 1136. A Delayed Palindrome (20) 大数模拟
1136. A Delayed Palindrome (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...
- PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程
文章目录 题目分析 题目链接 题目分析 此题和PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法 一样.区别是多了输出整个计算过程. 下面是主要知识点. 一个判 ...
- 1136 A Delayed Palindrome (20 分)
Consider a positive integer N written in standard notation with k+1 digits ai as ak⋯a1a0 ...
- 1136 A Delayed Palindrome 需再做
注意点: 1. 大整数即高精度整数,数据结构bign要会定义 2. 记得写构造函数或者通过别的方式初始化bign 3. len属性记得手动更新 4. int d[maxn]数组是顺位存储,意味着字符串 ...
- 1136 A Delayed Palindrome
题意:略. 思路:大整数相加,回文数判断.对首次输入的数也要判断其是否是回文数,故这里用do...while,而不用while. 代码: #include <iostream> #incl ...
- pat 1074. 宇宙无敌加法器(20)
1074. 宇宙无敌加法器(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 地球人习惯使用十进制数,并且默 ...
- PAT甲级1080 Graduate Admission【模拟】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805387268571136 题意: 模拟高考志愿录取. 考生根据总 ...
- PAT——1074. 宇宙无敌加法器(20)
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...
- PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...
最新文章
- git使用的详细过程
- 基于最优化方法的超宽带通信信号设计
- MySQL中的用户管理
- python查看模块功能_Python模块Os系统功能
- 第五课 路由之初识路由
- LeetCode 1227. 飞机座位分配概率(DP+数学归纳法)
- (带后台)苹果安卓APP下载页 app应用下载界面源码
- IP釋放、清除、以及刷新DNS
- cscd论坛_高压电器第九届电工技术前沿问题学术论坛“先进电磁技术”分论坛及专题征稿...
- html特殊字符转义倒三角,html,转义字符对照表,部分x
- lacp协议文档概要
- win10 系统重装后,如何恢复mysql 数据库(mysql-8.0.26-winx64.zip)
- Linux(2)- Linux基础命令
- 网络和共享中心 服务器运行失败,win10网络共享失败提示共享依赖服务无法启动的解决办法...
- PHP房贷计算器代码,等额本息,等额本金
- ruby + cucumber环境搭建
- 左手手型投篮姿势教程
- JMeter测试多用户登录
- 编译安装Linux内核(以5.10.104版本为例)
- 小波变换(wavelet transform)的通俗解释(一)
热门文章
- 树状数组成段更新模板
- java 入门 第二季3
- linux 进程线程拓展
- java 抽象类语法_JAVA基础语法8--多态/抽象类/抽象方法
- linux vue node占用内存过大,vue 大型应用内存泄漏改造经验
- php删除二位数组相同元素,删除去除二维数组中相同元素与数组重复值实例-PHP源码...
- jqprint控件使用
- (JAVA)CollectionDemo3
- 移植uboot之修改代码支持NorFlash记录
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib