QUTOJ-1356 小E和1(规律)
来源:互联网 发布:条形码打印机软件 编辑:程序博客网 时间:2024/05/21 10:29
1356: 小E和1
时间限制: 1 Sec 内存限制: 128 MB提交: 151 解决: 30
题目描述
因为小e的名字中e和1谐音,所以小e对1这个数字情有独钟。一天小e上完数学课之后,突然有一个想法,
他想统计一下[1,n]这n个整数的十进制表示中有多少个1?意气风发的小e,信手捏来,就是一段代码:
int count1(unsigned int n){
int count = 0;
while(n > 0){
if(n%10 == 1) count++;
n /= 10;
}
return count;
}
int count1Between1toN(unsigned int n){
int count = 0;
for(unsigned i = 1; i <= n; i++){
count += count1(i);
}
return count;
}
追求完美的小e认为自己的代码还不够完美,聪明的ACMer能够帮助小e写出一份完美的代码吗?
他想统计一下[1,n]这n个整数的十进制表示中有多少个1?意气风发的小e,信手捏来,就是一段代码:
int count1(unsigned int n){
int count = 0;
while(n > 0){
if(n%10 == 1) count++;
n /= 10;
}
return count;
}
int count1Between1toN(unsigned int n){
int count = 0;
for(unsigned i = 1; i <= n; i++){
count += count1(i);
}
return count;
}
追求完美的小e认为自己的代码还不够完美,聪明的ACMer能够帮助小e写出一份完美的代码吗?
输入
输入有多组数据。
每一组数据包括一行。
第一行包含一个整数n(0 ≤ n ≤ 10^18)输出
对于每组测试用例,输出一行,包含测试用例编号(从1开始)和一个整数。该整数表示[1,n]这n个整数的十进制表示中包含1的个数。
样例输入
911
样例输出
Case 1:1Case 2:4
提示
例如n=11,则[1,11]中包含1的整数为有1,10,11。一共4个1,故最后答案为4.
//by-四川⼤学 _⽅巍
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<ctime>#include<cmath>#include<queue>#include<map>using namespace std; int main(){ long long n; int ca = 0; while (scanf("%lld",&n)==1) { ca++; long long ans = 0; long long tem = 1; long long m = n; while (n) { ans += n/ 10 * tem; if (n%10 == 1) { ans += m%tem + 1; }else if (n %10){ ans += tem; } n/=10; tem *= 10; } printf("Case %d:%lld\n",ca,ans); } return 0;}
0 0
- QUTOJ-1356 小E和1(规律)
- QUTOJ 1356: 小E和1 思维暴力
- qutoj 1357 小E与计算器(模拟)
- QUTOJ 1357:小E与计算器 暴力搞
- QUTOJ 飘飘和小石(简单搜索+暴力)
- QUTOJ 1363 麻烦的小卓 思维
- CF 615 E Hexagons(找规律)
- Codeforces--630E--A rectangle(规律)
- [Codeforces 615E] Hexagons (找规律)
- (二) E - E && hdoj 无限的路 【规律】
- QUTOJ-1359 小菜的难题(二分)
- CodeForces 166E--规律
- Codeforces Round #338 (Div. 2) E. Hexagons(规律)
- C#小练习(规律求数)
- QUTOJ-1363 麻烦的转盘(概率dp)
- CodeForces 616E(数学规律)
- 二维数组小规律
- 找规律小总结~
- Android 开发小经验
- 分层CAR技术
- linux 安装apache httpd
- mybatis的使用
- 利用stringstream 类实现字符串和数值间转换
- QUTOJ-1356 小E和1(规律)
- ubuntu下运行Android-Studio时出现Execution failed for task ':app:validateSigningDebug
- Mr.小艾——apprtc服务器的搭建(ubuntu)
- UGUI<一>:canvas
- Linux 下socket编程客户端与服务端代码
- 如何把自己的app(MEAN开发方式)部署到heroku
- Canvas 基本绘图Api记录
- opencv2.x 以上 删除二值化图像中面积较小的区域
- hdu5973