思路:
先把十进制转换为r进制,转换的过程中,从逆向求该进制的十进制数,如果逆向结果与原数结果一致,则说明这个数字对称。

#include<cstdio>
int main(){
	int num,r;
	scanf("%d%d",&num,&r);
	int arr[22];
	int k=0,tmp=num,sum=0;
	do{
		arr[k]=num%r;
		num=num/r;
		sum=sum*r+arr[k];
		k++;
	}while(num!=0);
	if(sum == tmp) printf("Yes\n");
	else printf("No\n");
	for(int j=k-1;j>=0;j--){
		printf(j>0?"%d ":"%d",arr[j]);
	}
	
	return 0;
}