问题 D: 回文数
时间限制: 1 Sec 内存限制: 125 MB
[提交][状态][讨论版]
题目描述
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。
例如:给定一个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,每组的第一行输入N,第二行输入M。M的长度不超过20

输出
对于每组输入数据,输出最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出"Impossible!"。

样例输入

9
87

样例输出

STEP=6

提示
/*
记录一下。。。
*/
Ac_code:

#include <bits/stdc++.h>using namespace std;
string s ="0123456789ABCDEFG";
map<char,int>mp;
bool Ans(string a)
{int len = a.size();for(int i = 0,j = len-1; i <= j;i++,j--){if(a[i]!=a[j])return false;}return true;
}
string add(string x,string y,int n)
{int len = x.length();int tmp = 0;string ans;for(int i = 0; i < len; i++){//cout<<mp[x[i]]<<endl;int t = mp[x[i]] + mp[y[i]] + tmp;ans += s[t%n];tmp = t/n;}while(tmp){ans += s[tmp%n];tmp /= n;}reverse(ans.begin(),ans.end());//cout<<ans<<endl;return ans;
}
int main()
{for(int i = 0; i < s.length(); i++){mp[s[i]] = i;}int n;string m;cin>>n>>m;int step = 0;while(step<=30){if(Ans(m)){cout<<"STEP="<<step<<endl;return 0;}string t = m;reverse(m.begin(),m.end());m = add(t,m,n);step++;}cout<<"Impossible!\n";return 0;
}

问题 D: 回文数(n进制加法,模拟)相关推荐

  1. JavaScript算法(实例十)回文数 / 立方根 / 进制转化

    1.设n是一任意自然数,若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数. function foo(n){var str = n.toS ...

  2. 疯狂的母牛,对方程的求解,不要62(不吉利数字),回文串,进制转换以及空心三角形

    5,有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.问在第n年的时候,共有多少头母牛? 输入:数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0&l ...

  3. USACO-Section1.3 Dual Palindromes (进制转换和回文数)

    2017-5-27 题目描述 求出大于S的至少在两种进制下表示是回文数的N个数 解答 进制转换与判断回文数的结合 代码 /* ID: 18795871 PROG: dualpal LANG: C++ ...

  4. vijos p1304 回文数

    vijos p1304 回文数 N进制下的加法 2/10/16进制下,char到int的转换 #include<iostream> #include<string> using ...

  5. PAT甲级1019 General Palindromic Number:[C++题解]进制位、回文数、vector来做

    文章目录 题目分析 题目链接 题目分析 ac代码 #include<bits/stdc++.h> using namespace std;//判回文数 bool check(vector& ...

  6. 1768: 回文平方数(进制转换)

    1768: 回文平方数 时间限制: 1 Sec 内存限制: 128 MB 题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B< ...

  7. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

  8. USACO-Section1.3 Palindromic Squares (进制转换和回文数)

    2017-5-27 题目描述 十进制数1到300的平方用N进制表示,若为回文数,则输出 解答 大体就是进制转换以及判断回文数的结合 代码 /* ID: 18795871 PROG: palsquare ...

  9. Vijos P1304 回文数【回文+进制】

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

最新文章

  1. SessionLocaleResolver
  2. java 安装报错2503_Windows安装Node.js报错:2503、2502的解决方法
  3. 2/100. Hamming Distance
  4. Android 短信解析
  5. Best Cow Fences(信息学奥赛一本通-T1434)
  6. win10计算机无法复制文件,Win10系统下移动、复制、删除文件需要管理员权限的解决方法...
  7. Java基础-SSM之mybatis快速入门篇
  8. VC双缓冲画图技术介绍
  9. AMS1117典型电路
  10. 孙子算经 之 物不知数(韩信点兵)
  11. 相遇在这茫茫的网海里。你在天涯,我在海角
  12. 五子棋项目结束总结_五子棋比赛总结报告
  13. Python实现猜拳游戏
  14. 【调色台】达芬奇调色台系列
  15. 高通8953调试I2S小记
  16. ElasticSearch健康检查localhost:9200 not reachable
  17. PID微分积分电路(转载)
  18. 2019 11 14
  19. Android4.0.x 安全模式的分析
  20. [导入]Foxit PDF Editor

热门文章

  1. db2查最新值的前一天值_现在的C1驾照值多少钱?最新价格曝光,老司机一看赚翻了...
  2. hadoop 2.7.3
  3. 四种连接数据库的方法(DriverManager、DataSource子类、DBCP、c3p0)
  4. 二十八、电力窃漏电案例模型构建
  5. 利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?
  6. 干货!隐马尔科夫模型
  7. nvme驱动_耗时3天2夜,搞定了macbook pro(2015款)更换nvme固态,经验分享一下,希望能帮到有需要的人!...
  8. java executebatch_JDBC批量执行executeBatch
  9. 机器学习实战-集成学习-23
  10. linux静态编译libcurl,libcurl嵌入式Linux移植