3 Star 14 Fork 6

徒步天下 / 程序设计与算法一OpenJudge题解

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
038:编程填空:第i位取反.md 1.19 KB
一键复制 编辑 原始数据 按行查看 历史

038:编程填空:第i位取反

总时间限制: 1000ms 内存限制: 1024kB

描述

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位是n的第i位取反,其余位和n相同

请使用【一行代码】补全bitManipulation2函数使得程序能达到上述的功能

#include <iostream>
using namespace std;

int bitManipulation2(int n, int i) {
// 在此处补充你的代码
}

int main() {
	int t, n, i;
	cin >> t;
	while (t--) {
		cin >> n >> i;
		cout << bitManipulation2(n, i) << endl;
	}
	return 0;
}

输入

第一行是整数 t,表示测试组数。

每组测试数据包含一行,是两个整数 n 和 i (0<=i<=31)。

输出

输出整型变量n中的第i位取反的结果

样例输入

1
1 0

样例输出

0

提示

二进制的最右边是第0位

全局题号

9474

题解

#include <iostream>
using namespace std;

int bitManipulation2(int n, int i) {
   return (n ^ (1<<i));	//与1异或就是取反,与0异或不变
}

int main() {
	int t, n, i;
	cin >> t;
	while (t--) {
		cin >> n >> i;
		cout << bitManipulation2(n, i) << endl;
	}
	return 0;
}
C++
1
https://gitee.com/se17a/c01.git
git@gitee.com:se17a/c01.git
se17a
c01
程序设计与算法一OpenJudge题解
master

搜索帮助