60分 求助
查看原帖
60分 求助
1265678
Lrhnb楼主2024/9/1 18:05
#include<bits/stdc++.h>
using namespace std;
int a,b,s=0,p=1;
bool jz[20];
void f2(int n){
	if(n==0){
		return;
	}
	f2(n/2);
	jz[p]=n%2;
	p++;
}
bool f(int n){
	p=1;
	memset(jz,0,sizeof(jz));
	f2(n);
	jz[0]=!jz[1];
	jz[p]=!jz[p-1];
	for(int i=1;i<=p-1;i++){
		if(jz[i]!=jz[i-1]&&jz[i]!=jz[i+1]){
			return 0;
		}
	}
	return 1;
}
int main(){
	cin>>a>>b;
	for(int i=a;i<=b;i++){
		if(f(i))s++;
	}
	cout<<s;
	return 0;
}

2024/9/1 18:05
加载中...