返回题解分享
讨论 / 题解分享/ 帖子详情

好数(编程题) - 题解

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;

bool check(int x){
	int flag=1;
	while(x>0){
	if(flag==1){
		if(x%2==0) return false;
		else{
			flag=0;
			x=x/10;
		}
	}else if(flag==0){
		if(x%2==1) return false;
		else{
			flag=1;
			x=x/10;
		}
	}
}
	return true;
}
signed main(){
	cin>>n;
	int ans=0;
	for(int i=1;i<=n;i++){
		if(check(i)){
			ans++;
		}
		if(i>10&&(i/10)%2==1&&!check(i)){
			i+=9;
		}
	}
	cout<<ans;
	return 0;
}
0 回复 0 转发 0 喜欢 5 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!