在这儿问一下,有人用Mars OJ的吗?
有的话,评论区里回复一下,谢谢。
好了切入正题
题目:
说明
输入n个整数,输出其中大于5的数字之和,以及大于100的数字的异或和。
异或和指的是数字经过异或运算得到的结果。比如n个数a1~an的异或和是a1^a2...^an
输入格式
一行一个整数n,表示数字个数(1<=n<=10^6)
下面n行,每行一个整数aiai,表示第i个数(−10^12<=ai<=10^12−10^12<=ai<=10^12)
输出格式
共两行。
第一行表示大于5的数字之和,第二行表示大于100的数字的异或和。
样例
输入数据 1
3
5
128
256
输出数据 1
384
384
这题只需要知道在C++里^是异或就行了,关于异或是什么对这题影响不大,我会出一篇文章讲的
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
long long n;
cin >> n;
long long sum = 0;
long long xorSum = 0;
for (int i = 0; i < n; i++) {
long long num;
cin >> num;
if (num > 5) {
sum += num;
}
if (num > 100) {
xorSum ^= num;
}
}
cout << sum << endl;
cout << xorSum << endl;
return 0;
}