1024 Palindromic Number
1. 本题给的N的范围是10位以内的整数,但是注意了不知要要和反序列相加多少次,因此大数的int d[]的大小10是远远不够,100才全部AC。
2. 一开始不通过不知道是位数不够,以为是到确定步数停下来的代码写错了,其实通过两个测试用例(一个没到就停下一个到了才停下),就可以放心了。
AC代码
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
#include<stdlib.h>
#include<time.h>using namespace std;
typedef long long LL;const int maxn = 10007;
const int MOD = 1000000007;
const int INF = 1000000000;//INF:下确界
const LL SUP = (1LL<<63)-1;//SUP:上确界
const double eps = 1e-5;struct bign{int d[100];int len;bign(){memset(d,0,sizeof(d));len = 0;}
};bool isPalin(bign a){if(a.len==1)return true;//9 4 0123 8765//10 5 01234 98765for(int i=0;i<a.len/2;i++){if(a.d[i]!=a.d[a.len-1-i]){return false;}}return true;
}bign change(char s[]){bign bg;bg.len = strlen(s);for(int i=0;i<bg.len;i++){bg.d[i] = s[bg.len-1-i] - '0';}return bg;
}bign speAdd(bign a){//特殊的加,自身和自身的倒序进行相加 bign b;int sum;int carry = 0;for(int i=0;i<a.len;i++){sum = a.d[i] + a.d[a.len-1-i] + carry;b.d[b.len++] = sum%10;carry = sum / 10; }if(carry){b.d[b.len++] = carry;}return b;
}int main(){char s[20];int max_stepnum;bign a;scanf("%s %d",s,&max_stepnum);a = change(s);int cnt = max_stepnum;for(int i=0;i<max_stepnum;i++){if(!isPalin(a)){a = speAdd(a);}else{cnt = i;break;}}for(int i=0;i<a.len;i++){printf("%d",a.d[a.len-1-i]);}printf("\n");printf("%d",cnt);return 0;
}
1024 Palindromic Number相关推荐
- PAT甲级1024 Palindromic Number:[C++题解]回文串和高精度加法
文章目录 题目分析 题目链接 题目分析 一个判断是否是回文数的函数:check,思路是使用双指针从两端分别往里走. 另一个是高精度加法函数add,传入两个vector. 另外,vector逆序构造可以 ...
- 【题意分析】1024 Palindromic Number (25 分)_38行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 A number that will be the same when it is written forwards or bac ...
- 【PAT甲级 BigInteger运算】1024 Palindromic Number (25 分) Java 全部AC
题目 题解 Java 一开始用C++写的,有两个大数的测试点过不去,后来改用Java的BigInteger开挂,全部通过 import java.io.BufferedReader; import j ...
- 【PAT - 甲级1024】Palindromic Number (25分)(大数,模拟)
题干: A number that will be the same when it is written forwards or backwards is known as a Palindromi ...
- PAT甲级1019 General Palindromic Number:[C++题解]进制位、回文数、vector来做
文章目录 题目分析 题目链接 题目分析 ac代码 #include<bits/stdc++.h> using namespace std;//判回文数 bool check(vector& ...
- 1019 General Palindromic Number (20分)_18行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 A number that will be the same when it is written forwards or bac ...
- 浙大PAT甲级1019. General Palindromic Number (20)
1019. General Palindromic Number (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ...
- 1019. General Palindromic Number (20)
题目连接:https://www.patest.cn/contests/pat-a-practise/101 原题如下: A number that will be the same when it ...
- 【PAT甲级 BigInteger】1019 General Palindromic Number (20 分) Java版 7/7通过
题目 一开始只使用了Long,有后面四个测试点过不去,后来换了BigInteger,就通过了. 这题用Java的BigInteger做,可以操作任意长度的数字,感觉有一点取巧了. 如果C或者C++的话 ...
最新文章
- Docker运行PostgreSQL
- 相似图片检测:感知哈希算法之dHash的Python实现
- 3.1 再论 0/1 分类问题-机器学习笔记-斯坦福吴恩达教授
- mysql5.7.12 my.ini文件_MySQL5.7缺少my.ini文件的解决方法
- mysql环境搭载后老出错_使用Docker在window10下搭建SWOFT开发环境,mysql连接错误
- VHDL基础 学习笔记
- 在websphere部署完war包后出现com.ibm.ws.jsp.JspCoreException: JSPG0218E异常
- 谷歌测试工程师分享前端性能监控利器Performance
- 自助出版风靡美国的7个理由(转载)
- PDF Expert mac使用教程:压缩pdf文件大小
- 汉诺塔问题详解(C语言)
- Android 获取文件后缀名
- ArcGIS 10 SP5 (Desktop, Engine, Server)中文版 补丁
- 张家口地区某一级公路设计--河北建筑工程学院
- (亲测)使用cmd结束进程的3种方法
- 手机翻书效果html,移动端实现翻书效果
- 河南省哪所技校学计算机软件工程,河南技校排名前十有哪些?都有什么专业
- 山寨机需要规范,中国需要山寨机
- css 让图标上下跳,使用CSS和Bootstrap图标制作上下跳动的指示箭头动画效果
- 使用Java对HBase进行操作(三)
热门文章
- 【微信小程序之画布】一:canvas组件
- iOS 使用钥匙串将用户密码存入本地
- iOS使用自签名证书实现HTTPS请求
- “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
- Xcode 创建.a和framework静态库(转)
- Android5.0如何正确启用isLoggable(二) 理分析
- 《深入理解计算机系统》读书随笔-位操作
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
- 网络编程--ftp客户端的实现(c#版)
- .NET企业级应用架构设计系列之应用服务器