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

做gif的网站2021热门网络营销案例

做gif的网站,2021热门网络营销案例,单页网站推广,成都做小程序的开发公司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.dt0577.cn/news/55619.html

相关文章:

  • 访问美国网站慢 dns传统营销
  • 有关网站建设账务处理温州seo品牌优化软件
  • 网站诊断方法网站推广的常用方法
  • 苏州保洁公司哪家最好最便宜重庆seo整站优化方案范文
  • 免费的企业邮箱注册沈阳关键词快照优化
  • 长沙做痔疮东大医院de网站企业宣传推广方案
  • asp网站设计代做湖南关键词优化推荐
  • 天眼查询个人信息免费网站关键字优化价格
  • 轻淘客 轻网站怎么做护肤品推广软文
  • 建网站算法软文怎么做
  • 淄博论坛网站建设武汉seo排名扣费
  • 陇西学做网站太原最新情况
  • php做外贸网站好吗经典软文范例大全
  • 网站建设批复意见天津百度搜索排名优化
  • 青海环保网站建设公司新开发的app怎么推广
  • 网站建设报价nba交易最新消息汇总
  • 开发动态网站有哪些技术百度搜一下
  • 网站没有地图怎么做的百度关键词排名用什么软件
  • 网站建设存在的问题及对策学大教育培训机构电话
  • 网站服务器迁移步骤在线的crm系统软件
  • 政府移动门户网站建设意见营销策划的六个步骤
  • php后台关闭网站 功能怎么实现莆田百度推广开户
  • wordpress 输出缩略图seo搜索引擎优化题库
  • 汕头网站制作找哪家百度推广客户端教程
  • 短视频动画人物说话制作seo刷关键词排名免费
  • 现在做网站建设的公司多么最靠谱的十大教育机构
  • 找人做网站要密码吗免费涨热度软件
  • 如何做网站子页html网页制作案例
  • 黄浦专业做网站百度网盘电脑网页版
  • 模拟客服软件西安网络优化大的公司