社区讨论

有没有大佬教一下题目

灌水区参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lzla9sy2
此快照首次捕获于
2024/08/08 20:57
2 年前
此快照最后确认于
2024/08/08 21:56
2 年前
查看原帖
程序如下:
CPP
#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n,i,j,x[1001],a[1001],s=0,b[1001],s1=0,l,maxx=-99999999,maxx2=-99999999,c[1001],m=0;
   cin>>n;
   for(i=1;i<=n;++i)
   {
   	cin>>x[i];
   	if(x[i]>maxx) maxx=x[i];
   	for(j=1;j<=i;++j)
   	{
   		if(x[j]!=maxx&&x[j]>maxx2) maxx2=x[j];
   	}
   }
   while(maxx!=0)
   {
   	s++;
   	a[s]=maxx%2;
   	maxx/=2;
   }
   while(maxx2!=0)
   {
   	s1++;
   	b[s1]=maxx2%2;
   	maxx2/=2;
   }
   l=max(s,s1);
   for(i=l;i>=1;--i)
   {
   	if(a[i]==1&&b[i]==1) c[i]=1;
   	else c[i]=0;
   }
   for(i=1;i<=l;++i)
   {
   	if(c[i]==1) m=m+pow(2,i-1);
   }
   cout<<m<<endl;
   return 0;
} 
球球大佬们帮帮忙,小萌新拜托了

回复

2 条回复,欢迎继续交流。

正在加载回复...