pat 1019

进位制

#include<stdio.h>
#include<stdlib.h>
#include<vector>
using namespace std;

int N,b;
vector<int> v;

int main(){
    scanf("%d%d",&N,&b);
    if(N==0){
        printf("Yes\n0\n");
    }else{
        while(N){
            v.push_back(N%b);
            N=N/b;
        }
        int n=v.size();
        bool res=true;
        for(int i=0;i<n/2;i++)
            if(v[i]!=v[n-1-i]){
                res=false;
                break;
            }
        if(res==false)
            printf("No\n");
        else
            printf("Yes\n");
        for(int i=n-1;i>=0;i--){
            if(i==v.size()-1)
                printf("%d",v[i]);
             else
                printf(" %d",v[i]);
        }
        printf("\n");
    }
    //system("pause");
    return 0;
}


你可能感兴趣的:(pat 1019)