#include<cstdio> #include<cstring> //判断是否是回文数 利用函数写,不然很麻烦 bool Judge(int a[],int num){ //判断是不是回文数 for(int i=0;i<=num/2;i++){ if(a[i] != a[num-i-1]){ return false; } } return true; } int main(){ int y,b; scanf("%d %d",&y,&b); int a[40],num=0; //注意存储在a[]中数,是高位在高地址的; num就是其位数。 do{ //取余 除基 a[num++] = y%b; y = y/b; }while(y!=0); bool flag = Judge(a,num); if(flag) printf("Yes\n"); else printf("No\n"); for(int i=num-1;i>=0;i--){ printf("%d",a[i]); if(i!=0) printf(" "); } return 0; }