题目大意:见刘汝佳《算法竞赛入门经典——训练指南》P173

解题思路:

  求出 0 到 m-1 这些数字中 0 出现的次数(此处要特判 m = 0 的情况),再求出 0 到 n 这些数字中 0 出现的次数,后者减去前者即是答案。

  求 0 到某一个数字这些数字中 0 出现的次数:

  从第二高位枚举每一位上 0 出现的次数:1、这一位上的数字是 0,我们以 10030 的百位为例,这一位上的 0 出现的次数为:(10 - 1)*100 + 30 + 1;2、这一位上的数字不是0,我们以 10330 的百位为例,这一位上的 0 出现的次数为:10*100。别忘记考虑 0 哦,所以得出的答案再加上 1 才是正解。

AC代码:

 #include <iostream>
#include <cstdio> using namespace std;
typedef long long ll; int main(){
ll m,n;
while(scanf("%lld%lld",&m,&n)==&&m>=&&n>=){
m--;
ll ans1=;
if(m>=){
ll t1=;
while(m/t1>=)
t1*=;
while(t1){ //判断条件
if(m/t1%!=)
ans1+=m/(t1*)*t1;
else
ans1+=((m/(t1*)-)*t1+m%t1+);
t1/=;
}
ans1++;
}
else
ans1=; ll ans2=, t2=;
while(n/t2>=)
t2*=;
while(t2){
if(n/t2%!=)
ans2+=n/(t2*)*t2;
else
ans2+=((n/(t2*)-)*t2+n%t2+);
t2/=;
}
ans2++;
printf("%lld\n",ans2-ans1);
}
return ;
}

UVA11038的更多相关文章

  1. UVA 1103 How Many O's?

    题目链接:UVA-11038 题意为给定n和m,求n和m之间(包含)的所有数包含的0的个数. 思路是,用cal(x)表示小于等于x的数包含的0的个数.则答案为cal(n)-cal(m-1). 再把求c ...

  2. UVa 11038 有多少个0

    https://vjudge.net/problem/UVA-11038 题意: 输入两个非负整数m和n,求将m~n的所有整数写出来,一共要写多少个数字0? 思路: 举个例子来说: 12345 从右到 ...

随机推荐

  1. HashMap源码解析JDK8

    一.HashMap基础 1.1 HashMap的定义 我们先看一下HashMap的定义: public class HashMap<K,V> extends AbstractMap< ...

  2. Android Studio常用配置

    目录 1. 主题颜色设置 2. Logcat颜色设置 3. 类注释 4. 编译器添加背景图 4.1 第一种方式 Background Image 4.2 第二种方式 Sexy Editor 5. 修改 ...

  3. Python爬虫,抓取淘宝商品评论内容!

    作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...

  4. axis2 411

    返回411加个这个就行了 _operationClient.getOptions().setProperty(HTTPConstants.CHUNKED, false); 本文转自 cd1989929 ...

  5. 一句话总结JS构造函数、原型和实例的关系

    "每个构造函数都有一个原型对象, 原型对象都包含一个指向构造函数的指针, 实例都包含一个指向原型对象的内部指针." --此段话摘自<JavaScript高级程序设计>. ...

  6. CentOS启用iptables防火墙

    centos 7默认的防火墙使用firewall,系统服务管理方式也变更了,可以通过systemctl命令控制. 可以参考这个链接 但是习惯用iptables,可以按下面的操作改下 1.关闭firew ...

  7. uiautomatorviewer 出现安卓8.0级以上无法打开的解决方法

    一..本人在使用Android自带的uiautomatorviewer工具来进行app元素定位时,出现了Android 9.0打开不了.出现了如下图错误提示: 经过网上的查阅,总结了几个解决的方法. ...

  8. 金钱货币用什么类型--(Java)

    0.前言 项目中,基本上都会涉及到金钱:那么金钱用什么数据类型存储呢? 不少新人都会认为用double,因为它是双精度类型啊,或者float, 其实,float和double都是不能用来表示精确的类型 ...

  9. Codeforces Round #575 (Div. 3) 昨天的div3 补题

    Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...

  10. HTTP接口测试

    HTTP接口测试 1.1 get接口 请求URL http://api.nnzhp.cn/api/user/stu_info 请求方式 get 请求参数 参数名 必选 类型 说明 stu_name 是 ...