#include<bits/stdc++.h> usingnamespace std; intmain(){ int n, x, ans = 0; cin >> n; for(int i = 1; i <= n; i++) { cin >> x; ans |= x; } cout << ans; return0; }
but,你会发现只会得到 20,注意观察数据范围,0≤ai≤263−1,这已经超出了 int 类型的存储范围,所以需要使用 long long 类型存储。
1 2 3 4 5 6 7 8 9 10 11 12 13
#include<bits/stdc++.h> #define int long long usingnamespace std; signedmain(){ int n, x, ans = 0; cin >> n; for(int i = 1; i <= n; i++) { cin >> x; ans |= x; } cout << ans; return0; }