题目描述
如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数。例如32123就是一个回文数;17在某种意义上也是一个回文数,因为它的二进制型式——10001——是一个回文数。
请你帮忙开发一个程序,判断一个数n在任意进制(2-16)下是否有回文数。

输入描述:
输入包含多组数据。
每组数据包括一个正整数n (1≤n<2^31)。

输出描述:
对应每组数据,如果n在2-16进制下存在回文数,则输出“Yes”;否则输出“No”。

输入例子:

32123
17

输出例子:

Yes
Yes

解题思路:\color{blue}解题思路:解题思路:
还是水题一道。。。
分别将n转换r进制r∈[2,16],如果有一个是回文,则输出Yes,否则输出No

代码实现:\color{blue}代码实现:代码实现:

#include <iostream>
#include <string>
using namespace std;// 将数字n转化为r进制(字符串格式)
string getR(int n, int r) {string resStr = "";while (n != 0) {char ch = n % r;//转换为响应的数字字符,超过10需要转成A、B、C等大写字母if (ch > 9) {ch += 'A' - 10;} else {ch += '0';}//逆序拼接,因为我们是从低到高位进行转换resStr = ch + resStr;n /= r;}return resStr;
}//判断字符串是否为回文
bool isPalindrome(string str) {int length = (int)str.length();for (int i = 0; i < length / 2; ++i) {//从左往中间对称比较if (str[i] != str[length - i - 1]) {return false;}}return true;
}int main(int argc, const char * argv[]) {int n = 0;//scanf返回值为正确输入数据的变量个数,当一个变量都没有成功获取数据时,此时返回-1while (scanf("%d", &n) != - 1) {bool flag = false;for (int r = 2; r < 17; ++r) {//如果n转换为r进制后是回文if (isPalindrome(getR(n, r))) {flag = true;break;}}printf("%s\n", (flag ? "Yes" : "No"));}return 0;
}

PAT乙级(Basic Level)练习题 进制回文数相关推荐

  1. 【新人】C++小白刷题系列0009进制回文数

    题目描述 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发 ...

  2. PAT乙级篇之进制回文数

    原题: 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发一 ...

  3. 【PAT】进制回文数

    题目描述 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发 ...

  4. PAT练习 进制回文数(进制问题+字符串处理)

    题目描述: 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开 ...

  5. 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎

    题目描述 过年期间,老家举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 1. 首先,给每位新娘打扮得几乎 ...

  6. PAT乙级(Basic Level)练习题-写出这个数 (20)

    题目描述 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入描述: 每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出描述: 在一行内输出n的各 ...

  7. PAT乙级(Basic Level)练习题 星际密码

    题目描述 星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码.表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足 ...

  8. PAT乙级(Basic Level)练习题 客似云来

    题目描述 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来:并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝. 于是, ...

  9. PAT 乙级(Basic Level) 题解汇总(持续更新)(C++)

    前言 为了准备3月份的CCF CSP认证,以及提升自己的编程能力和数据结构与算法基础,目前我坚持每天刷pat乙级题库,然后记录在CSDN.一则,希望夯实我做过的题和学到的东西:二则,希望对和我一样的小 ...

最新文章

  1. 第1章 Java语言概述
  2. 增强CNN学习能力的Backbone:CSPNet
  3. 【腾讯代码文化】人均3.6万行代码,《腾讯研发大数据报告》正式发布!
  4. Django-HttpResponse、render,、redirect(转载)
  5. 对url给后台传数据的时候特殊字符需要转义
  6. matlab里vpa怎么用_“学校里的师兄师姐,用英文怎么说?”
  7. android 屏幕方向改变 重新测量,android – 扫描时自动更改屏幕方向(使用ZXING库)...
  8. 词频统计(30 分)(map vector sort)
  9. 机器学习十大算法(一)
  10. RCC_APB2Periph_ALL 哪儿里去了?
  11. helm install Error: timed out waiting for the condition
  12. python实现数的逆序_python怎么逆序
  13. 关于vivo手机拍照后无法跳转裁剪
  14. 常用纸张及特性,印刷常用规格尺寸
  15. Leadtools Document教程:如何高效将数千个 PDF 文件拆分并转换为单页图像
  16. 面试记录:光大银行北京分行金融科技岗实习
  17. 机器学习-周志华-学习记录-第一章绪论
  18. 测试工程师个人年终总结
  19. 基因数据处理56之bwa运行paird-end(1千万条100bp的reads).md
  20. 阿里云使用体验-阿里云开发者社区

热门文章

  1. PMBOK第六版官方中文版 - 完整版
  2. Python基础07互评成绩
  3. CSV文件导入MongoDB
  4. 合肥学院期末考试卷java_JavaWeb期末考试A卷
  5. vsftpd虚拟用户权限设置
  6. 得力科学计算机换电池,就地取材,简单拆解维修得力小闹钟
  7. webgl基础原理1
  8. 技嘉z77主板msata速度_十大网友十套配置百项测试实战技嘉Z77
  9. 微信推文中英文显示换行_如何从以前的推文中删除所有位置信息
  10. python 分析外汇数据_Python爬取中国银行外汇牌价(statsmodels预测分析)--(二)