1019 General Palindromic Number (20 分)

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 a​i​​ as ∑​i=0​k​​(a​i​​b​i​​). Here, as usual, 0≤a​i​​<b for all i and a​k​​ is non-zero. Then N is palindromic if and only if a​i​​=a​k−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.

Input Specification:

Each input file contains one test case. Each case consists of two positive numbers N and b, where 0<N≤10​9​​ is the decimal number and 2≤b≤10​9​​ is the base. The numbers are separated by a space.

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 "a​k​​ a​k−1​​ ... a​0​​". Notice that there must be no extra space at the end of output.

Sample Input 1:

27 2

Sample Output 1:

Yes
1 1 0 1 1

Sample Input 2:

121 5

Sample Output 2:

No
4 4 1

水题:进制转换,判断是否回文

 /**
 * Copyright(c)
 * All rights reserved.
 * Author : Mered1th
 * Date : 2019-02-24-01.08.29
 * Description : A1019
 */
 #include<cstdio>
 #include<cstring>
 #include<iostream>
 #include<cmath>
 #include<algorithm>
 #include<string>
 #include<unordered_set>
 #include<map>
 #include<vector>
 #include<set>
 using namespace std;
 ;
 bool judge(int s[],int len){
     ;i<len;i++){
         ]){
             return false;
         }
     }
     return true;
 }
 int main(){
 #ifdef ONLINE_JUDGE
 #else
     freopen("1.txt", "r", stdin);
 #endif
     int a,n;
     scanf("%d%d",&a,&n);
     ,s[maxn]={};
     do{
         s[num++]=a%n;
         a/=n;
     }while(a);
     if(judge(s,num)){
         printf("Yes\n");
     }
     else{
         printf("No\n");
     }
     ;i>=;i--){
         printf("%d",s[i]);
         ) printf(" ");
     }
     ;
 }

最新文章

  1. python 字符串与数字之间的转换
  2. SQL GROUP BY 后排序
  3. Bootstrap_分页
  4. 从Wep page到Application
  5. Theano在CentOS 6 下的安装及GPU加速
  6. ExtJs之Ext.util.TextMetrics
  7. RNN-theano代码解析
  8. sae storage 使用uploadify插件进行文件批量上传
  9. CDZSC_2015寒假新人(2)——数学 P
  10. oracle db于,一个特定的数据字典pct miss其计算公式
  11. 转载 java基础题(面试必知)
  12. libJPEG-turbo库使用示例代码
  13. html5shiv.js和respond.min.js的作用
  14. C语言 Struct 结构体在 Java 中的体现
  15. 实践作业4 Web测试(小组作业分配)
  16. C++实现根据路径读取文件内容
  17. Win7平台下配置Sublime Text2 的C++编译环境
  18. EditText添加表情
  19. MySQL中死锁
  20. 【Web缓存机制系列】2 – Web浏览器的缓存机制

热门文章

  1. DevExpress v17.2新版亮点—WinForms篇(三)
  2. WTForms组件
  3. UI基础:UIScrollView、UIPageControl
  4. iconfont 入门级使用方法
  5. 第33课 C++中的字符串类
  6. caffe安装编译问题-ImportError: No module named google.protobuf.internal
  7. 牛客多校第五场 J:Plan
  8. How Many Tables 简单并查集
  9. vim golang 插件
  10. ioctl命令