欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ 514 1的个数

发布时间:2025/3/16 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 NYOJ 514 1的个数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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 10 44 497 346 542 0 0
样例输出
2 185 40
十进制数中1的个数!
AC码:
#include<stdio.h> long long solve(long long x) {if(x<0)return 0;long long t=0,p=1,temp=x;while(x>0){if(x%10==0)t+=x/10*p;else{if(x%10==1){if(x==temp)t+=x/10*p+1;elset+=temp%p+1+x/10*p;}elset+=(x/10+1)*p;}x/=10;p*=10;}return t; } int main() {long long a,b,t;while(scanf("%lld%lld",&a,&b)&&(a+b)){if(a<b){t=a;a=b;b=t;}printf("%lld\n",solve(a)-solve(b-1));}return 0; }

总结

以上是生活随笔为你收集整理的NYOJ 514 1的个数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。