网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月02日漏签0天
编程吧 关注:373,614贴子:1,637,192
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回编程吧
>0< 加载中...

关于一道二进制题目的acm,求帮忙

  • 只看楼主
  • 收藏

  • 回复
  • 丨不无小补灬
  • 活跃吧友
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

二进制是计算机学习中最基础的部分了,但是zzz对二进制总是非常的不敏感,总是没办法深入的理解。为了对自己进行特训,加强对二进制的理解,zzz设计了一个有趣的游戏,给定一个十进制数字N,判断给定数字的二进制表示中,是否包含长度为K的连续的1。zzz玩的不亦乐乎,但很快就发现,自己并不能确定游戏的正确答案,所以他想请你帮忙给出游戏的正确结果。
Input
  输入由多组数据组成,第一行输入一个正整数C(1<=C<=1000),表示数据个数。
接下来C行,每行输入两个整数N(0<=N<231)、K(0<K<=31)。
Output
  输出C行,每行对应输入数据的答案。如果数字N的二进制表示中,包含长度为K的连续的1,则输出"Yes",否则输出"No"。(不包含引号)


  • 丨不无小补灬
  • 活跃吧友
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>
int main()
{
int n,temp=0,i;
int c[1001][2],k[1001];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d",&c[i][0],&c[i][1]);
for(i=0;i<n;i++)
{
while(c[i][0]>0)
{
if(c[i][0]%2==1)
temp++;
else
temp=0;
if(temp==c[i][1])
{ k[i]=1; break; }
else
k[i]=0;
c[i][0]=c[i][0]/2;
}
temp=0;
}
for(i=0;i<n;i++)
{ if(k[i]==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回编程吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示