PAT乙级(Basic Level)练习题 进制回文数
题目描述
如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数。例如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)练习题 进制回文数相关推荐
- 【新人】C++小白刷题系列0009进制回文数
题目描述 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发 ...
- PAT乙级篇之进制回文数
原题: 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发一 ...
- 【PAT】进制回文数
题目描述 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开发 ...
- PAT练习 进制回文数(进制问题+字符串处理)
题目描述: 如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数.例如32123就是一个回文数:17在某种意义上也是一个回文数,因为它的二进制型式--10001--是一个回文数. 请你帮忙开 ...
- 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎
题目描述 过年期间,老家举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 1. 首先,给每位新娘打扮得几乎 ...
- PAT乙级(Basic Level)练习题-写出这个数 (20)
题目描述 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入描述: 每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出描述: 在一行内输出n的各 ...
- PAT乙级(Basic Level)练习题 星际密码
题目描述 星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码.表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足 ...
- PAT乙级(Basic Level)练习题 客似云来
题目描述 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来:并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝. 于是, ...
- PAT 乙级(Basic Level) 题解汇总(持续更新)(C++)
前言 为了准备3月份的CCF CSP认证,以及提升自己的编程能力和数据结构与算法基础,目前我坚持每天刷pat乙级题库,然后记录在CSDN.一则,希望夯实我做过的题和学到的东西:二则,希望对和我一样的小 ...
最新文章
- 第1章 Java语言概述
- 增强CNN学习能力的Backbone:CSPNet
- 【腾讯代码文化】人均3.6万行代码,《腾讯研发大数据报告》正式发布!
- Django-HttpResponse、render,、redirect(转载)
- 对url给后台传数据的时候特殊字符需要转义
- matlab里vpa怎么用_“学校里的师兄师姐,用英文怎么说?”
- android 屏幕方向改变 重新测量,android – 扫描时自动更改屏幕方向(使用ZXING库)...
- 词频统计(30 分)(map vector sort)
- 机器学习十大算法(一)
- RCC_APB2Periph_ALL 哪儿里去了?
- helm install Error: timed out waiting for the condition
- python实现数的逆序_python怎么逆序
- 关于vivo手机拍照后无法跳转裁剪
- 常用纸张及特性,印刷常用规格尺寸
- Leadtools Document教程:如何高效将数千个 PDF 文件拆分并转换为单页图像
- 面试记录:光大银行北京分行金融科技岗实习
- 机器学习-周志华-学习记录-第一章绪论
- 测试工程师个人年终总结
- 基因数据处理56之bwa运行paird-end(1千万条100bp的reads).md
- 阿里云使用体验-阿里云开发者社区
热门文章
- PMBOK第六版官方中文版 - 完整版
- Python基础07互评成绩
- CSV文件导入MongoDB
- 合肥学院期末考试卷java_JavaWeb期末考试A卷
- vsftpd虚拟用户权限设置
- 得力科学计算机换电池,就地取材,简单拆解维修得力小闹钟
- webgl基础原理1
- 技嘉z77主板msata速度_十大网友十套配置百项测试实战技嘉Z77
- 微信推文中英文显示换行_如何从以前的推文中删除所有位置信息
- python 分析外汇数据_Python爬取中国银行外汇牌价(statsmodels预测分析)--(二)