博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入样例NYOJ 514 数字 1的个数
阅读量:7119 次
发布时间:2019-06-28

本文共 1309 字,大约阅读时间需要 4 分钟。

首先声明,我是一个菜鸟。一下文章中涌现技术误导情况盖不负责

    

1的个数

时光制限:
1000 ms  |  内存制限:
65535 KB
难度:
3

    

 
描述
给你两个数a和b,你的任务是计算出1在a和b之间涌现的数次,比如说,如果a=1024,b=1032,那么a和b之间的数就是:
1024 1025 1026 1027 1028 1029 1030 1031 1032
则有10个1涌现在这些数中。
 
输入
输入不会过超500行。每一行有两个数a和b,a和b的围范是0 <= a, b <= 100000000。输入两个0时程序结束,两个0不作为输入样例。
出输
对于每一对输入的a和b,出输一个数,代表1涌现的个数。
样例输入
1 1044 497346 5420 0
样例出输
218540
    每日一道理
谁说人与人隔着遥远的重洋,谁说心与心设着坚固的堤防?十六岁的鸟儿飞上天空,总会找到落脚的枝头。

 

    主体思惟是找出每个数为上的1的个数,就是说 位个一共涌现几个一,十位一共涌现了几个1``````

    可以虑考写一个函数求出1到n的数中一共的1的个数

    

#include
int m[12]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};int geshu(int t){ if(t==-1)return 0; int i=0,res=0; while(1) { if(m[i]>t)break; if((t/m[i])%10>1) { res+=((int)t/m[i+1]+1)*m[i]; // printf("%d*\n",res); } else if((t/m[i])%10==1) { res+=((int)t/m[i+1])*m[i]+t%m[i]+1; // printf("%d**\n",res); } else { res+=(int)t/m[i+1]*m[i]; // printf("%d***\n",res); } ++i; } return res;}int main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF) { if(a==0&&b==0)break; if(a>b){a^=b^=a^=b;} printf("%d\n",geshu(b)-geshu(a-1)); }return 0;}

    

    

文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。

选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
  “一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
  “呵呵………”我笑。忽然她问:“你有网站吗?”  

转载地址:http://gonel.baihongyu.com/

你可能感兴趣的文章
一个月薪两万的Web安全工程师要掌握哪些技能?
查看>>
同事写得Python对页面压测脚本
查看>>
H2:开源内存数据库引擎
查看>>
(原創) 何谓可读性高的程序? (C/C++)
查看>>
JAVA的类名.this
查看>>
TP复习8
查看>>
最近要用C#实现用免费smtp服务器(GMail)发邮件,贴段整理好的代码
查看>>
通信原理实践(一)——音频信号处理
查看>>
如何实现网页上的气球提示
查看>>
js获取地址栏url以及获取url参数
查看>>
Oracle之自动收集统计信息
查看>>
[LintCode] Subarray Sum Closest
查看>>
发展需要大师,繁荣更需批评——GIS现状堪忧
查看>>
MapXtreme2004 连接oracle spatial的问题
查看>>
resources about DOM-Drag
查看>>
Bootstrap 3之美03-独立行,文字环绕,图片自适应,隐藏元素
查看>>
K星异客
查看>>
ASP.NET Web API中实现版本的几种方式
查看>>
咏南WEB APP开发框架
查看>>
Android Activity界面切换添加动画特效 (转载修改)
查看>>