Vanya and Scales

Vanya and Scales

https://ac.nowcoder.com/acm/problem/110987

思路:

做这种题,第一步就是搞清楚题目要干什么,其实这个题目就是判断一个式子是否成立:


我们观察可以发现,每次都只有第一项不一定是的倍数,其他一定是的倍数.那么每次我们都判断下,然后将.然后一直处理到即可,假如中途不成立,那么输出,否则就是.
当然还有个值得注意的地方就是你代码应该先检测-1,再检测1.比如说你m=1,你检测-1/+1都是可以的,但是你先+1的话,就会死循环.

代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int w,m;
    cin>>w>>m;
    while(m)
    {
        if(m%w==0)    ;
        else if((m-1)%w==0)    m--;
        else if((m+1)%w==0)    m++;
        else
        {
            puts("NO");return 0;
        }m/=w;
    }puts("YES");
    return 0;
}

应该是高质量的题解.

全部评论

相关推荐

用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务