传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1309

【题目描述】

若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,

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)进制数 M.求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible” 。

【输入】

给定一个N(2<N<=10或N=16)进制数M。

【输出】

最少几步。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”。

【输入样例】

9 87

【输出样例】

6

注意有16进制位因此要专门判断,再模拟即可

#include<iostream>
#include<cstring>
#define N 310
using namespace std;
int a[N],lena;
bool hw(){
for(int i=0;i<=lena/2;i++)
if(a[i]!=a[lena-i-1])return false;
return true;
}
int main(){
int n;
string m;
cin>>n>>m;
lena=m.size();
for(int i=0;i<lena;i++)
{
if(m[i]>='0'&&m[i]<='9')a[i]=m[lena-i-1]-'0';
else a[i]=(m[lena-i-1]-'A')+10;
}
if(hw()==true){cout<<0<<endl;return 0;}
for(int i=1;i<=30;i++){
for(int j=0;j<=lena/2;j++)a[j]+=a[lena-j-1];
for(int j=lena/2;j<lena;j++)a[j]=a[lena-j-1];
for(int j=0;j<lena;j++)
{
if(a[j]>=n){
a[j+1]++;
a[j]-=n;
if(j==lena-1)lena++;
}
}
if(hw()){
cout<<i<<endl;
return 0;
}
}
cout<<"Impossible\n";
}

转载于:https://www.cnblogs.com/jzxnl/p/11030248.html

最新文章

  1. typescript实现react中的批次式更新
  2. C#最简单最完整的webservice实例
  3. 图结构练习——最小生成树(kruskal算法(克鲁斯卡尔))
  4. activiti-explorer:使用mysql导入外部bpmn文件后存在乱码的问题
  5. div设置边框黑框显示
  6. poj 2479 (DP)
  7. JQ的each
  8. 8个3D视觉效果的HTML5动画欣赏
  9. Android开发环境搭建(windows OS)之补充
  10. 《Programming WPF》翻译 第3章 3.内嵌控件
  11. start_kernel——boot_init_stack_canary
  12. selenium各版本jar包下载地址
  13. python3+Robot Framework+PyCharm环境部署及执行脚本
  14. dba工作内容
  15. JAVA_模糊查询_重点是concat关键字
  16. github团队使用记录
  17. C#使用mybatis学习笔记
  18. Python 爬虫 不得不说的 清洗
  19. Memcache未授权访问漏洞
  20. JavaScript实现功能全集

热门文章

  1. Linux操作系统及调用接口
  2. 1026 Table Tennis (30分)
  3. php--一些新知识总结
  4. NS网络仿真,小白起步版,双节点之间的模拟仿真(基于TCP和FTP流)
  5. 在IDEA导入maven项目
  6. 会话技术(session/cookie)
  7. Python爬虫系列(二):requests基础
  8. 三、Pycharm2019.3.3的安装
  9. php+ajax实现拖动滚动条分批加载请求加载数据
  10. ios 中使用 animation-play-state: paused 属性失效的问题