题目描述
对于正整数n,如果n可以表示两个2的次幂之和,即n=
+
(x,y均为非负整数),那么称n为幂和数。
给定正整数l,r,请你求出满足l≤n≤r的整数n中有多少个幂和数。
输入格式
一行,两个正整数l,r,含义如上。
输出格式
输出一行,一个整数,表示l,r之间幂和数的数量。
样例
输入样例 1
2 8
输出样例 1
6
输入样例 2
10 100
输出样例 2
20
代码
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int l,r,s=0;
bool flag=false;
cin>>l>>r;
for(int i=l;i<=r;i++){
for(int j=0;j<=i;j++){
for(int k=0;k<=i;k++){
if(pow(2,j)+pow(2,k)==i){
s++;
flag=true;
break;
}
}
if(flag){
break;
}
}
flag=false;
}
cout<<s;
return 0;
}
1868

被折叠的 条评论
为什么被折叠?



