很好的思维

我怀念的

https://ac.nowcoder.com/acm/contest/71162/B

#include<stdio.h>
#include<math.h>
int t, x;
int check2pow(int a)
{
    return !(a & (a-1));
}
int checksqrt(int a)
{
    return (int)sqrt(a)*(int)sqrt(a) == a;
}
int main(void)
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&x);
        if(checksqrt(x))
        {
            x = (int)sqrt(x);
            if(check2pow(x)) printf("YES\n");
            else printf("NO\n");
        }
        else printf("NO\n");
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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