//题意:输入w,m。
表示给你一个w,你可以使用w^0,w^1,w^2w^3.........w^100;这一百零一个数,现在又给你一个数m,让你将m放到天平的右边,现在问你能否通过在两边天平上添加那101个砝码使得天平平衡。
//思路:
将m转换成w进制数,再枚举每一位上的数,如果第i位为w或者是w-1(加一的话就可以进位)的话可以将它转换为0,第i+1位进1。这些位上的数如果全能转换成1或者0的话,就表示m可以被表示,否则不能被表示。
#include<stdio.h>
int main()
{
int w,m,i,k[100],t=0;
scanf("%d%d",&w,&m);
while(m)
{k[t++]=m%w;
m=m/w;
}
int flag=1;
for(i=0;i<t;i++)
{if(k[i]==w)
{k[i]=k[i]-w;
k[i+1]++;
}
if(k[i]<=1)
continue;
else if(k[i]==w-1)
{
k[i]=0;
k[i+1]++;
}
else flag=0;
}
if(flag)printf("YES\n");
else printf("NO\n");
return 0;
}