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进制下打印出 ...
随机推荐
- how to close macos eject icon from menu bar
how to close macOS eject icon from the menu bar close eject https://apple.stackexchange.com/question ...
- input number css hidden arrow
input number css hidden arrow show arrow OK input[type="number"]::-webkit-inner-spin-butto ...
- lua调用dll导出的函数
参考手册 hello.dll #include "pch.h" #include "lua.hpp" #pragma comment(lib, "lu ...
- DENIEL SOIBIM:真正自律的人都在做这些事情!
生活节奏的加快,使得很多人无法适从.很多人,浑浑噩噩,庸庸碌碌,觉得一天做了很多事,却总是一事无成.还有些人,觉得得过且过也很好,但是到头来,却让自己陷入慌乱之中.本想要自由自在的生活,但是却往往却被 ...
- DHCP (Dynamic Host Configuration Protocol )协议的探讨与分析
DHCP (Dynamic Host Configuration Protocol )协议的探讨与分析 问题背景 最近在工作中遇到了连接外网的交换机在IPv6地址条件下从运营商自动获取的DNS地址与本 ...
- 18_MySQL之HAVING字句的使用
本节涉及的sql语句: -- HAVING -- 错误示例 SELECT deptno FROM t_emp WHERE AVG(sal)>=2000 GROUP BY deptno; 因为wh ...
- MVVM中的vm双向监听和mvc的缺点
`MVVM`模型: - 即Model,模型,包括数据和一些基本操作 - 即View,视图,页面渲染结果- 即View-Model,模型与视图间的双向操作(无需开发人员干涉) `MVVM`中的`VM`要 ...
- 【重磅】iNeuOS工业互联平台,系统集成业务模型和WEB组态视图建模集成3D模型
目 录 1. 概述... 1 2. 平台演示... 2 3. 系统集成业务模型... 2 4. WEB组态视图建模集成3D模型... 3 5. ...
- monkey稳定性测试的步骤及策略
1.adb的作用是什么?adb的全称:android debug bridge 安卓调试桥梁,包含在 Android SDK 平台工具软件包中.通过该命令与设备进行通信,以便进行调试adb可以同时管理 ...
- 关于KMP算法中,获取next数组算法的理解
参考:KMP入门级别算法详解--终于解决了(next数组详解) https://blog.csdn.net/lee18254290736/article/details/77278769 在这里讨论的 ...