0
已解决
丁博扬
中级天翼
中级天翼
1288 序列数字个数(seqnum)
题目描述 Description
最近正在上映电影“魔境仙踪”,爱魔幻故事的卡卡西特别想去看,于是央求着妈妈带她去影院。卡卡西的妈妈对她微微一笑,说:“那好吧,卡卡西,让我来考考你,如果你能解决我出的难题,就可以带你去影院哦!你想要试试吗?”“当然啦,尽管出题吧……”,卡卡西信心满满,于是妈妈开始出题。
题目是这样的:现连续写下从整数1开始到某个整数N(十进制)之间的所有整数时,能得到如下的数字序列:12345678910111213141516171819202122…,当N为20时,得到的数字序列为:1234567891011121314151617181920。
请编写一个程序,计算这个序列中的数字字符的个数。小朋友们,你们能帮助卡卡西获得观看电影“魔境仙踪”的影券吗?
输入描述 Input Description
一行,一个正整数N(1≤N≤10000)。
输出描述 Output Description
一个正整数,表示由给定的整数所产生的序列的数字个数。
样例输入 Sample Input
15
样例输出 Sample Output
21
数据范围及提示 Data Size & Hint
当N=15时,得到的数字序列为:123456789101112131415,这个数字序列包含的数字字符个数为21个。
40%的数据1≤N≤100。
90%的数据1≤N≤1000。
100%的数据1≤N≤10000。
丁博扬在2020-10-18 12:21:23追加了内容
第一次发帖,请大家轻点喷
没有代码
谁给我思路
0
已采纳
杜智宸
中级光能
中级光能
四个if加一个else解决
杜智宸在2020-10-18 12:26:17追加了内容
输入
- if(n<10){
- cout<<n;
- }
- else if(n>=10 && n<100){
- cout<<n+n-9;
- }
- else if(n>=100 && n<1000){
- cout<<n+n-9+n-99;
- }
- else if(n>=1000 && n<10000){
- cout<<n+n-9+n-99+n-999;
- }
- else {
- cout<<n+n-9+n-99+n-999+n-9999;
- }
完结撒花
0