clay17与计组实验课

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 165 总提交人数: 182
Special Judge

题目描述

在刚刚过去的计算机组成原理实验课P4上,有一个非常有趣的问题。

我们定义一个32位二进制数为非下降的,当且仅当从高位到低位,每个数位提取出来构成的序列单调不降。

比如 00000111111111111111111111111111 就是非下降的, 而 00010111111111111111111111110111 就不是非下降的。

接下来,我们会有T组询问,需要你判断一个二进制数是不是非下降的。

输入

第一个数为数据组数$T$

接下来$T$行,每行1个整数$x$($0 \le x \le 2^{32}-1$)

保证$T \le 10^{5}$

输出

对于每组数据,若x为非下降的,输出一行Yes,反之输出一行N0

输入样例

3
1
7
16

输出样例

Yes
Yes
N0

BUG 代码

#include <stdio.h>
#include <math.h>
int main(){
    int T,cnt;
    int u;
    scanf("%d",&T);
    while(T--){
        scanf("%d",&u);
        u++;
        cnt=0;
        while(u){
            cnt+=u&1;
            u>>=1;
        }
        if(cnt==1) printf("Yes\n");
        else printf("No\n");
    }
}

Author:clay17

相关推荐