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 ai as the sum of (aibi) for i from 0 to k. 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 non-negative 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 non-negative 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.
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.
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

代码

#include<iostream>
#include<vector>
using namespace std;
int main(){
    int n,base,flag=1;
    scanf("%d%d",&n,&base);
    vector<int> v;
    if(n==0) v.push_back(n);
    while(n>0){
        v.push_back(n%base);
        n/=base;
    }
    for(int i=0;i<=(v.size()-1)/2;i++){
        if(v[i]!=v[v.size()-i-1]) flag=0;
    }
    if(flag) printf("Yes\n");
    else printf("No\n");
    for(int i=v.size()-1;i>0;i--) printf("%d ",v[i]);
    printf("%d",v[0]);
    return 0;
}

测试结果

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,424评论 0 10
  • 还记得许多年前,我们为一个元素添加有一个动画class之后,你还在用settimeout来延迟下一个动作,这么做过...
    daybreakcold阅读 1,422评论 2 0
  • 打电话给他,一脸的不耐烦。 马上脾气爆发:“你是每次都把责任都推给别人?” 看到垃圾,会深深弯下腰,把垃圾捡起来,...
    静皈之阅读 232评论 0 0
  • 《千年女优》是一部由今敏指导的优秀动画电影。影片由一位风靡日本的女明星千代子回忆展开,将日本历史、千代子的电影生涯...
    喵辛束阅读 1,169评论 1 7
  • 以前孩子晚上写作业都是靠自己,我们作为家长没辅导过,这几天陪着孩子写了几天作业才发现老师们真的很不容易啊...
    鑫姐和娇丫头阅读 116评论 0 0