2019年蓝桥杯C/C++大学B组省赛真题(特别数的和)

题目描述:

小明对数位中含有2、0、1、9 的数字很感兴趣(不包括前导0)
在1到40中这样的数包括1、2、9、10 至32、39 和40,共28 个,他们的和是574。
请问,在1到n 中,所有这样的数的和是多少?

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int res=0;
	for(int i=0;i<=n;i++){
		string s=to_string(i);
		if(s.find('2')!=-1||s.find('0')!=-1||s.find('1')!=-1||s.find('9')!=-1){
			res+=i;
		}
	}
	cout<<res<<endl;
	return 0;
}

代码测试链接:P1465 - [蓝桥杯2019初赛]特别数的和 - New Online Judge

posted @ 2022-03-21 19:33  回忆、少年  阅读(16)  评论(0编辑  收藏  举报  来源