PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642
PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642
题目描述:
A number that will be the same when it is written forwards or backwards is known as a Palindromic Number. For example, 1234321 is a palindromic number. All single digit numbers are palindromic numbers.
Although palindromic numbers are most often considered in the decimal system, the concept of palindromicity can be applied to the natural numbers in any numeral system. Consider a number N>0 in base b ≥ 2, where it is written in standard notation with k+1 digits ai as ∑ki=0(aibi). Here, as usual, 0 ≤ ai < b for all i and ak is non-zero. Then N is palindromic if and only if ai = ak-i for all i. Zero is written 0 in any base and is also palindromic by definition.
Given any positive decimal integer N and a base b, you are supposed to tell if N is a palindromic number in base b.
译: 向前或向后书写都是相同的数称为回文数 。例如 1234321 就是一个回文数。所有的单个数字的数都是回文数。
虽然回文数在十进制系统中考虑的最多,但是回文数的概念可以应用到任意自然数数字系统中。考虑一个数 N > 0 在进制 b ≥ 2 ,被写成如 ∑ki=0(aibi) 这样的标准记录。这里,通常对于所有的 i 有 0 ≤ ai < b 并且 ak 是非零的。当且仅当 对所有的 i 都有ai = ak-i 。 0 在任意进制中都写成 0 并且是一个回文数。
现在给你任意十进制整数 N 和进制 b ,你应该说明 N 是否是 b 进制下的一个回文数。
Input Specification (输入说明):
Each input file contains one test case. Each case consists of two positive numbers N and b, where 0<N≤109 is the decimal number and 2≤b≤109 is the base. The numbers are separated by a space.
译:每个输入文件包含一个测试用例,每个用例包含两个正整数 N
和b
是十进制下的数字 0<N≤109 2≤b≤109。数字间用空格分隔。
Output Specification (输出说明):
For each test case, first print in one line Yes
if N is a palindromic number in base b, or No
if not. Then in the next line, print N as the number in base b in the form "ak ak -1 ... a0 ". Notice that there must be no extra space at the end of output.
译:对于每个测试用例,在一行中输出,如果 N
是 b
数制下的回文数输出 Yes
否则输出 No
。接下来的一行,用格式"ak ak -1 ... a0 " 输出 N 在 b 进制下的数字。注意 行末没有多与的空格。
Sample Input 1 (样例输入1):
27 2
Sample Output 1 (样例输出1):
Yes
1 1 0 1 1
Sample Input 2 (样例输入2):
121 5
Sample Output 2 (样例输出2):
No
4 4 1
The Idea:
涉及到回文数,首先将数字 N 转为 b 进制下的数字存入数组中,然后再根据题目意思 判断 ai = ak-i 。如果有不满足的,令标致为 false 并退出循环。最后根据 flag 的值输出 Yes or No ,再输出 b 进制下的 N .
The Codes:
#include<bits/stdc++.h>
using namespace std;
//string str = "";
int base[32] ;
int main(){
int n , b , t , cnt = 0 , flag = 1 ;
cin >> n >> b ;
while(n){
base[cnt ++] = n % b ; // 取余
n /= b ;
}
for(int i = 0 ; i < cnt ; i ++){
if(base[i] != base[cnt - i - 1]){
flag = 0 ;
break ;
}
}
printf((flag?"Yes\n":"No\n")); // 输出是否是一个回文数
for(int i = cnt - 1 ; i >= 0 ; i --)
printf("%d%c",base[i] , (i == 0 )?'\n':' ');
return 0;
}
PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642的更多相关文章
- PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) (进制转换,回文数)
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642
PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642 题目描述: People in Mars represent the c ...
- PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642 题目描述: With the 2010 FIFA World Cu ...
- PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642
PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642 题目描述: Given a non-negative integer N ...
- PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642
PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642 题目描述: Calculate a+b and output the sum i ...
- PAT Advanced 1019 General Palindromic Number (20 分)
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- 1019 General Palindromic Number (20 分)
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- PAT甲题题解-1019. General Palindromic Number (20)-又是水题一枚
n转化为b进制的格式,问你该格式是否为回文数字(即正着写和倒着写一样)输出Yes或者No并且输出该格式又是水题... #include <iostream> #include <cs ...
- 【PAT甲级】1019 General Palindromic Number (20 分)
题意: 输入两个正整数n和b(n<=1e9,2<=b<=1e9),分别表示数字的大小和进制大小,求在b进制下n是否是一个回文串,输出“Yes”or“No”,并将数字n在b进制下打印出 ...
随机推荐
- git & github & git clone & 'git clone' failed with status 128
git & github & git clone & 'git clone' failed with status 128 'git clone' failed with st ...
- CSS3 & gradient & color & background
CSS3 & gradient & color & background css background https://developer.mozilla.org/en-US/ ...
- PM2 in depth
PM2 in depth ecosystem.config.js module.exports = { apps : [{ name: "app", script: ". ...
- js 触发长按事件
为网站添加触摸功能 <button id="btn1">长按触发</button> <button id="btn2">长按 ...
- NGK每日快讯」2021.1.27日NGK公链第85期官方快讯!
- DBA 的效率加速器——CloudQuery v1.3.0 上线!
好久不见! 自 CloudQuery v1.2.1 发布至今,已有月余,在此期间我们收到了很多朋友对 CloudQuery 的反馈和建议,很多朋友表达了对 v1.3.0 的期待,非常感谢. Cloud ...
- MySQL数据库与NAVICAT安装与配置
1.安装破解版的NAVICAT:https://www.cnblogs.com/yinfei/p/11427259.html 2.连接MYSQL 下载MYSQL并安装,配置环境变量 以管理员身份运行C ...
- 2021年-在windwos下如何用TOMACT发布一个系统(完整配置案列)
2021年新年第一篇:博主@李宗盛-关于在Windwos下使用TOMCAT发布一个系统的完成配置案列. 之前写过关于TOMCAT的小篇幅文档,比较分散,可以作为对照与参考. 此篇整合在一起,一篇文档写 ...
- node_puppeteer无界爬虫
环境:node----v14.5.0 vscode----2019 依赖库 (需要自行设置好目录结构,否则会报目录错误) const puppeteer = require("puppete ...
- Linux系列 -- XShell破解版安装教程
目录 一.xshell6商业版安装教程 1. 为什么要用xshell 2. 打开Keygen软件获取注册码 3.安装Xmanager_PowerSuite软件 4.打开康康. 二.XShell远程连接 ...