uj5u.com熱心網友回復:
就兩個for回圈遍歷所有的兩兩組合,找最大值就可以了。int main(){
int n,i,j,m,t,*a;
scanf(“%d”, &n);
a=(int*)malloc(sizeof(int)*n);
for(i=0; i<n; i++) {
scanf(“%d”, &a[i]);
}
m=0;
for(i=0;i<n-1;i++) {
for(j=i+1; j<n; j++) {
t=(a[i]|a[j])+(a[i]&a[j]); //a[i]和a[j]的組合
if(t>m) m=t; //m保存最大值
}
}
printf(“%d”, m);
free(a);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/155517.html
標籤:C++ 語言
