当前位置: 首页 > news >正文

分辨率大于1920的网站怎么做免费申请qq号注册新账号

分辨率大于1920的网站怎么做,免费申请qq号注册新账号,wordpress 文件全文检索,河南郑州网站制作xay loves or 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行思路 题目要求我们计算有多少个正整数 yy 满足条件 x \text{ OR } y sx OR ys。这里的“OR”是指按位或运算。为了理解这个问题,我们需要考虑按位或运算的性质。 对于任意两个位 a_iai​ 和 b_…

xay loves or

题目描述

登录—专业IT笔试面试备考平台_牛客网

运行思路

题目要求我们计算有多少个正整数 yy 满足条件 x \text{ OR } y = sx OR y=s。这里的“OR”是指按位或运算。为了理解这个问题,我们需要考虑按位或运算的性质。

对于任意两个位 a_iai​ 和 b_ibi​(a_i, b_i \in \{0, 1\}ai​,bi​∈{0,1}),按位或运算的结果 c_ici​ 为:

  • 如果 a_i = 0ai​=0 且 b_i = 0bi​=0,那么 c_i = 0ci​=0。
  • 否则,c_i = 1ci​=1。

因此,如果 x \text{ OR } y = sx OR y=s,那么对于 ss 中每一位为 1 的位置,xx 或 yy 在对应位置至少有一个 1;对于 ss 中每一位为 0 的位置,xx 和 yy 在对应位置都必须是 0。

  1. 对于 ss 中每一位为 0 的位置,如果 xx 在该位置也是 0,则 yy 在该位置也必须是 0,否则无法满足 x \text{ OR } y = sx OR y=s。
  2. 对于 ss 中每一位为 1 的位置,如果 xx 在该位置是 0,则 yy 在该位置可以是 0 或 1;如果 xx 在该位置是 1,则 yy 在该位置可以是 0 或 1,因为 xx 已经确保了结果位为 1。

运行代码

#include <iostream>
#include <bitset>
#include<math.h>
using namespace std;
int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int x, s;cin >> x >> s;if ((s & x) == x) {cout << int(pow(2, __builtin_popcount(x))) - (x == s) << "\n";} else {cout << 0 << "\n";}return 0;
}

代码思路

  1. 输入读取:首先,我们读取两个整数 x 和 s

  2. 条件判断:检查 s & x 是否等于 x。如果 s & x != x,说明 s 中有些位为 0 而 x 中对应位为 1,这是不可能的,因为 x OR y 的结果在这些位上必须是 1。因此,直接输出 0。

  3. 计算符合条件的 y 数量

    • 如果 s & x == x,说明 x 中为 1 的位在 s 中也必须是 1。接下来,我们需要计算 s 中为 1 而 x 中为 0 的位的数量。
    • 使用 __builtin_popcount(s & ~x) 计算这些位的数量。
    • 每个这样的位可以自由选择 0 或 1,因此符合条件的 y 的数量是 2 的这些位的数量次方。
    • 由于 y 必须是正整数,我们需要减去 y = 0 的情况。当 x == s 时,y = 0 是唯一的情况,因此需要减去 1。

__builtin_popcount

函数描述

__builtin_popcount 是 GCC 编译器提供的一组内置函数之一,用于计算一个整数的二进制表示中 1 的个数。具体来说,__builtin_popcount 接受一个无符号整数作为参数,并返回该整数的二进制表示中 1 的个数。

举例:假设有一个整数 x = 5,其二进制表示为 101。调用 __builtin_popcount(5) 将返回 2,因为 101 中有两个 1。

语法:

int __builtin_popcount(unsigned int x);

使用场景

在上述代码中,__builtin_popcount 用于计算 s & ~x 中 1 的个数。具体来说:

  • ~x 是 x 的按位取反。
  • s & ~x 表示 s 中为 1 而 x 中为 0 的位。
  • __builtin_popcount(s & ~x) 计算这些位的数量。
代码示例
#include <iostream>
#include <bitset>int main() {unsigned int x = 5; // 二进制表示为 101unsigned int s = 7; // 二进制表示为 111unsigned int result = s & ~x; // 111 & ~101 = 111 & 010 = 010int count = __builtin_popcount(result); // 010 中有 1 个 1std::cout << "Result: " << std::bitset<8>(result) << ", Count: " << count << std::endl;return 0;
}
输出
Result: 00000010, Count: 1
http://www.yayakq.cn/news/646144/

相关文章:

  • 嘉兴制作网站免费图纸网
  • 闵行专业做网站百度指数功能模块有哪些
  • 佛山顺德网站建设公司网站数据丢失怎么办
  • 南昌企业自助建站网站建设五站合一
  • 网站定位案例莱芜雪野湖有什么好玩的
  • net建站系统秦皇岛网站建设多少钱
  • 百度博客网站模板山东大型网站建设
  • 消费返利系统网站建设网站制作价格报表
  • 音乐类网站模板零售电商平台有哪些
  • 网站服务器年线太长建网站程序怎么写
  • 长沙网站建设外贸潍坊网站建设优化
  • 高端网站开发案例展示网站建设多少钱鞋
  • 网站建设公司华网天下买赠两年爱玖货源站
  • 咸阳企业网站建设店面设计效果图
  • 唐山百度做网站多少钱dedecms 企业网站
  • 网站优化要做哪些工作网页设计与制作教程第5版
  • 国内网站制作公司排名个人主页制作
  • 仙居做网站在哪里做云南省科技网站
  • 常州市网站制作百度商桥要怎么添加到网站
  • 门户网站建设合同sem竞价培训班
  • 两学一做网站是多少东莞模板网站
  • 小说网站开发帮中介做网站赚钱吗
  • 公司网站可以不买域名吗旅游网站设计说明书
  • 杭州网站推广方案平台优化推广排名
  • 网页制作设计作品怎么优化网站关键词
  • 机关网络 网站 建设建设一个网站多少钱呢
  • 做网站专业哪个网站做浏览器主页
  • 北京网站制作培训班重庆江北营销型网站建设公司推荐
  • 网站开发哪种语言最好公司建设网站的报告书
  • 专业做网站系统wordpress熊掌号展示