C/C++教程

acwing-特别数的和

本文主要是介绍acwing-特别数的和,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

输入格式

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

输出格式

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

数据范围

1≤n≤100001≤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 }

 

这篇关于acwing-特别数的和的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!