暴力枚举(注:有陷阱)
2026-01-18 20:19:07
发布于:福建
15阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
int l,r,x,y,a=0;
cin>>l>>r;
for(int n=l;n<=r;n++){
for(x=0;x<=n;x++){
for(y=x;y<=n;y++){
if((pow(2,x)+pow(2,y))==n){
a++;
}
}
}
}
cout<<a;
}
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
#include <bits/stdc++.h>
using namespace std;
int main(){
int l,r,x,y,a=0;//定义变量l,r,x,y,a
cin>>l>>r;//输入l,r
for(int n=l;n<=r;n++){//枚举l,r
for(x=0;pow(2,x)<=n;x++){//枚举x
for(y=x;pow(2,y)<=n;y++){//枚举y
if((pow(2,x)+pow(2,y))==n){//判断2^x+2^y是否等于n
a++;个数加一
}
}
}
}
cout<<a;输出个数
}
前面的包会超时的,这个100%不会
这里空空如也







有帮助,赞一个