洛谷P1015回文数
题目描述
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。
例如:给定一个十进制数56,将56加65(即把5656从右向左读),得到121是一个回文数。
又如:对于十进制数8787:
STEP1:87+78 = 165
STEP2:165+561 = 726
STEP3:726+627 = 1353
STEP4:1353+3531 = 4884
在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。
写一个程序,给定一个N(2≤N≤10,N=16)进制数MM(100位之内),求最少经过几步可以得到回文数。如果在3030步以内(包含30步)不可能得到回文数,则输出Impossible!
输入格式:
两行,分别是N,M。
输出格式:
STEP=ans
输入样例#1:
10
87
输出样例#1:
STEP=4
题解:回文串判断,肯定要用到字符串,这里用字符串输入,倒叙转化为整型数组,判断是否为回文串,如果不是,就让俩个相反的字符串相加,k++
代码如下:
#include<bits/stdc++.h>
#define maxn 100000
#define IFN 0x3f3f3f3f
using namespace std;
typedef long long ll;
int n,a[maxn+5],b[maxn+5];
int k;
bool jude() //判断是否为回文串
{for(int i=1;i<=a[0];i++){if(a[i]!=a[a[0]-i+1])return false;}return true;
}
void jiaf() //字符串加法
{for(int i=1;i<=a[0];i++){b[a[0]-i+1]=a[i];}for(int i=1;i<=a[0];i++){a[i]+=b[i];if(a[i]>=n){a[i]=a[i]%n;a[i+1]++;}}if(a[a[0]+1])a[0]++;
}
int main()
{string s;k=0;cin>>n>>s; //输入memset(a,0,sizeof(a));memset(b,0,sizeof(b));a[0]=s.size(); for(int i=1;i<=a[0];i++){//倒叙转化为整型,if(s[a[0]-i]>='A')a[i]=s[a[0]-i]-'A'+10; //判断是否为16进制的else a[i]=s[a[0]-i]-'0';}while(!jude()&&k<=30){ //判断是否为回文串,如果不是,继续执行加法jiaf();k++;}if(k<=30){printf("STEP=%d\n",k);}else printf("Impossible!\n");return 0;
}
洛谷P1015回文数相关推荐
- [洛谷 OJ]P1015 回文数
题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个十进制数56,将56加65(即把5656从右向左读),得到121是一个回文数. 又如:对于十进制数 ...
- 10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)
first thing:我市杨家巷发生一起爆炸事故,死亡17人,愿逝者安息! second thing:明天NOIP初赛,RP++,排名–;分数++; third thing:好像USACO评测系统真 ...
- 洛谷P1217 回文质数
题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000 ...
- 洛谷 - P1217 - 回文质数 - 枚举
https://www.luogu.org/problemnew/show/P1217 考虑暴力生成所有的回文数然后再判断是不是质数.注意个位的选择实际上只有4种.所以是 $4*10^3*10^3=4 ...
- 高精度练习- P1015 回文数
题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个十进制数5656,将5656加6565(即把5656从右向左读),得到121121是一个回文数. ...
- N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)
题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...
- 信息学奥赛一本通 1309:【例1.6】回文数(Noip1999) | 洛谷 P1015 [NOIP1999 普及组] 回文数
[题目链接] ybt 1309:[例1.6]回文数(Noip1999) 洛谷 P1015 [NOIP1999 普及组] 回文数 注:两OJ上的问题考察内容相同,但输出要求不同 [题目考点] 1.高精度 ...
- 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
P1207 [USACO1.2]双重回文数 Dual Palindromes 题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一 ...
- 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一个回文数,而77778就不是.当然,回文数的首和尾都应是非零的,因此0220就 ...
最新文章
- 功能强大的 C++ redis 客户端库增加至 acl 项目中
- 2015年3月-前端开发月刊
- InfoComm China 2019,揭秘“NVIDIA风格”数据科学!
- python自动化测试常见面试题二_思考|自动化测试面试题第二波
- C++ 引用本质就是一个指针常量
- 大数据_Flink_流式处理_简介_Flink是什么---Flink工作笔记0001
- 自带flash的浏览器_受够了手机自带浏览器?来看看这些超实用的不常用浏览器...
- eclipse反编译class文件
- 分享插件 Web前端助手、Restlet Client、Adblock-Plus
- 八大数据分析模型之——用户模型(一)
- 程序员必备的 10 大国外技术网站
- 电子相册如何用c语言制作,电子相册怎样制作?
- ie 无法打开服务器网页,无法打开internet站点怎么办
- hadoop reducer不执行问题及解决
- python mac 启动台 图标 跳跃_详解macOS的Mac电脑上使用“启动台”(Launchpad)
- mysql 1033_mysql1033错误 InnoDB临时表空间报错
- 摄像头8mm可以看多远_摄像头焦距怎么选
- Java关键字synchronized 使用中的 Double-Checked Locking is Broken
- python协程和网易云歌单
- 【zephyr】apds9660 接近(Proximity)传感器 驱动模型实现方式(一)