NC52075. 异或和
描述
小sun非常的喜欢数字,现在他想到了一个新问题:给你一个数列,想你帮他算算,这个数列中,出现次数为奇数个的数字的异或和。
输入描述
第一行是一个整数n接下来一行,n个整数,代表整个数列
输出描述
一行,代表出现次数为奇数个的数字的异或和
示例1
输入:
5 1 2 3 4 4
输出:
0
示例2
输入:
5 1 1 2 3 3
输出:
2
C(gcc 7.5.0) 解法, 执行用时: 955ms, 内存消耗: 32348K, 提交时间: 2022-10-27 23:52:18
#include <stdio.h> int main() { int n, ans = 0, x; scanf("%d", &n); while(n --) scanf("%d", &x), ans ^= x; printf("%d\n", ans); return 0; }
C++(g++ 7.5.0) 解法, 执行用时: 944ms, 内存消耗: 408K, 提交时间: 2022-11-07 20:21:52
#include<bits/stdc++.h> int main() { int n, a, ans=0; scanf("%d", &n); while(n--) { scanf("%d", &a); ans=ans^a; } printf("%d", ans); return 0; }
C++14(g++5.4) 解法, 执行用时: 1693ms, 内存消耗: 484K, 提交时间: 2019-10-15 20:12:01
#include<bits/stdc++.h> using namespace std; int main(){ int n,a,s=0; scanf("%d",&n); while(n--) { scanf("%d",&a); s^=a; } printf("%d\n",s); return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 1699ms, 内存消耗: 492K, 提交时间: 2019-09-14 07:54:01
#include<iostream> using namespace std; int main(){ int n,m,c = 0; cin >> n; while(n--){ scanf("%d",&m); c ^= m; } cout << c; return 0; }
C(clang 3.9) 解法, 执行用时: 1918ms, 内存消耗: 868K, 提交时间: 2019-10-15 20:40:08
#include <stdio.h> int main(){ int n,a,sum=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a); sum^=a; } printf("%d",sum); }