首页 > 技术文章 > acwing-特别数的和

alwaysrun 2022-03-06 21:21 原文

小明对数位中含有 20192、0、1、9 的数字很感兴趣(不包括前导 00),在 11 到 4040 中这样的数包括 129101、2、9、10 至 323932、39 和 4040,共 2828 个,他们的和是 574574。

请问,在 11 到 nn 中,所有这样的数的和是多少?

输入格式

共一行,包含一个整数 nn。

输出格式

共一行,包含一个整数,表示满足条件的数的和。

数据范围

1n100001≤n≤10000

输入样例:

40

输出样例:

574
 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstring>
 4 using namespace std;
 5 
 6 int n;
 7 int ans;
 8 
 9 int main()
10 {
11     cin>>n;
12     for(int i=1;i<=n;i++)
13     {
14         int x=i;
15         while(x)
16         {
17             int t=x%10;
18             x/=10;//删掉x的个位
19             if(t==2||t==0||t==1||t==9)
20             {
21                 ans+=i;
22                 break;
23             }
24         }
25     }
26     cout<<ans<<endl;
27     
28     return 0;
29 }

 

推荐阅读