题目链接

题意 :写下m到n之间所有的数,会写多少个0。

思路 :先算0到m的,再算0到n的,最后相减。

网上有位大神是这么推的,看下面。。。。

首先转化成求 [0, x] 中所有数中,含有的 0 的个数

那么对于一个数 x,怎么求出从 0 到 x 中所有数含有 0 的个数的和呢?

我们可以限制每一位是 0,然后再来计算。举个例子,假设 x 是 21035

首先 0 肯定是一个,sum 赋初值为 1

个位数是 0

个位数前面的数不能是 0,能够取的数就是 [1, 2103],个位后面没有了

那么 sum+=2103*1

十位数是 0

十位数前面的数不能是 0,能够取的数就是 [1, 210],由于 0 比 3 小,十位后面可以取 [0, 9]

那么 sum+=210*10

百位数是 0

百位数前面的数不能是 0,能够取的数就是 [1, 21],由于 0 是等于 0 的,这里就要特殊处理下了:

百位数前面的数如果是在 [1, 20] 中的,百位数后面的数可以取的就是 [0, 99]

百位数前面的数如果取的是 21,百位数后面的数就只能取 [0, 35]

那么,sum+=20*100+36

 //
#include <stdio.h>
#include <string.h>
#include <iostream> using namespace std ; void ji(long long s,long long &cnt ,long long t)
{
if(s <= ) return ;
long long x = s /,y = s %,z = s / ;
for( ; x != ; x /= )
if(x % == )
cnt += (y+)*t ;
cnt += z*t ;
ji(z-,cnt,t*) ;
}
int main()
{
long long m,n ;
while(~scanf("%I64d %I64d",&m,&n))
{
if(m == - && n == -) break ;
long long summ = ,sumn = ;
ji(m-,summ,1ll) ;
ji(n,sumn,1ll) ;
if(m == ) sumn++ ;
printf("%I64d\n",sumn-summ) ;
}
return ;
}

POJ 3286 How many 0's?的更多相关文章

  1. POJ 3286 How many 0's?(几多0?)

    POJ 3286 How many 0's?(几多0?) Time Limit: 1000MS   Memory Limit: 65536K [Description] [题目描述] A Benedi ...

  2. POJ 3286 How many 0's(数位DP模板)

    题目链接:http://poj.org/problem?id=3286 题目大意: 输入n,m,求[n,m]的所有数字中,0出现的总数是多少,前导零不算. 解题思路: 模板题,设dp[pos][num ...

  3. POJ 3286 How many 0's?(数位DP)

    题目链接 终于过了,边界让我wa了好几次,猥琐的用AC代码对拍,很无奈,用非常麻烦的方法.写一下,估计以后再碰到,肯定看不懂这是写的什么了. 以前做过,统计1和2的,统计0比1和2麻烦多了,有前导0的 ...

  4. POJ 3286 How many 0&#39;s?

    题目大意: 计算[m,n]之间全部数字有多少个零. 解题思路: 能够用[0,m)之间和[0,n]之间有多少个零然后作差. 规律是计算全部位置在到当前数时有多少个零. 以下是代码:   #include ...

  5. poj 3286 统计0的个数

    #include <iostream> using namespace std; long long p; ]; long long solve(long long n){ ; ;i< ...

  6. POJ 3009 Curling 2.0【带回溯DFS】

    POJ 3009 题意: 给出一个w*h的地图,其中0代表空地,1代表障碍物,2代表起点,3代表终点,每次行动可以走多个方格,每次只能向附近一格不是障碍物的方向行动,直到碰到障碍物才停下来,此时障碍物 ...

  7. POJ 3299 Humidex 难度:0

    题目链接:http://poj.org/problem?id=3299 #include <iostream> #include <iomanip> using namespa ...

  8. poj 3009 Curling 2.0

    题目来源:http://poj.org/problem?id=3009 一道深搜题目,与一般搜索不同的是,目标得一直往一个方向走,直到出界或者遇到阻碍才换方向. 1 #include<iostr ...

  9. POJ 3009 Curling 2.0(DFS + 模拟)

    题目链接:http://poj.org/problem?id=3009 题意: 题目很复杂,直接抽象化解释了.给你一个w * h的矩形格子,其中有包含一个数字“2”和一个数字“3”,剩下的格子由“0” ...

随机推荐

  1. Azure + vsftpd + ubntu14 + 虚拟用户 遇到的问题:从网上摘抄

    :在Azure安装好ubuntu虚拟机,安装包选择ubuntu14.04 LTS,选择LTS,以便微软对其以后的更好支持,不选就可能技术支持不会很久,现只开一台,端口默认选择22 :打开虚拟机,进入端 ...

  2. 解決 imagick 在 多线程运行时导致CPU暴增到100%的方法

    假如把imagic 安装到 /usr/local/imagemagick 目录 首先用/usr/local/imagemagick/bin/convert -version指令查看一下输出內容是否已经 ...

  3. 关于getpw系列函数返回的静态区域

    首先说一下什么是getpw系列函数,它主要是指这些函数: 这些函数根据一个用户名(getpwnam和getpwnam_r两个函数)或者一个用户ID(getpwuid和getpwuid_r)来获取这个用 ...

  4. 有趣的checkbox动画切换状态(支付宝转账成功显示)--第三方开源--AnimCheckBox

    这个很有趣的指标通过AnimCheckBox实现,下载地址:https://github.com/lguipeng/AnimCheckBox 代码: activity_main.xml: <Re ...

  5. WPF之旅(一)- 概述

    WPF与之前出现的其他技术相比引入了“内置硬件加速”和“分辨率无关”等创新功能.WPF是一种成熟的技术,它是几个已经发布的.NET平台的一部分,并通过几个版本不断地进行完善(WPF3.0 -> ...

  6. Microsoft .NET Framework 3.5 for Windowns Server2012R2 GUI

    图形化安装,需要安装盘,不需要网络连接

  7. parameter和argument的区别

    根据网上一些资料,对parameter和argument的区别,做如下的简单说明.1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数.2. 简略描述为:param ...

  8. MySQL 从库日志比主库多

    在群里聊天的时候,一个群友说,生产库主库宕机,但是主从数据库数据一致,但是从库的日志比主库多,很是不理解! 咨询后发现,生产库的主库没有设置sync_binlog=1,而是为sync_binlog=0 ...

  9. Context详解

    前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像 ...

  10. HTTP报文格式

    请求报文 <method><SP><uri><SP><version><CRLF> <head-name><: ...