2017 Multi-University Training Contest
来源:互联网 发布:caffe实现fcn 编辑:程序博客网 时间:2024/06/07 15:15
Add More Zero
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 868 Accepted Submission(s): 600
Problem Description
There is a youngster known for amateur propositions concerning several mathematical hard problems.
Nowadays, he is preparing a thought-provoking problem on a specific type of supercomputer which has ability to support calculations of integers between0 and (2m−1) (inclusive).
As a young man born with ten fingers, he loves the powers of10 so much, which results in his eccentricity that he always ranges integers he would like to use from 1 to 10k (inclusive).
For the sake of processing, all integers he would use possibly in this interesting problem ought to be as computable as this supercomputer could.
Given the positive integerm , your task is to determine maximum possible integer k that is suitable for the specific supercomputer.
Nowadays, he is preparing a thought-provoking problem on a specific type of supercomputer which has ability to support calculations of integers between
As a young man born with ten fingers, he loves the powers of
For the sake of processing, all integers he would use possibly in this interesting problem ought to be as computable as this supercomputer could.
Given the positive integer
Input
The input contains multiple test cases. Each test case in one line contains only one positive integer m , satisfying 1≤m≤105 .
Output
For each test case, output "Case #x : y " in one line (without quotes), where x indicates the case number starting from 1 and y denotes the answer of corresponding case.
Sample Input
164
Sample Output
Case #1: 0Case #2: 19
Source
2017 Multi-University Training Contest - Team 1
//题意:问2的m次是10的几次数量级。
//思路:10的k次<2的m次<10的k+1次 => lg(2的m次)- 1 < k < lg(2的m次)
因为m最大有100000,所以2的m次直接是算不出来的,所以要用个小技巧,lg里面乘是可以化成2个lg相加的,(比如:lg8=lg2+lg4),所以我们可以把2的m次拆一下,每次算2的100次(我电脑测试过2的100次是可以直接算的),然后加起来就可以了,但注意每次去加的那个k要是double的,不然会精度缺失!
#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>using namespace std;long long m;double k;int main(){int Case = 1;while (scanf("%lld", &m) != EOF){printf("Case #%d: ", Case++);k = 0;while (m > 0){if (m > 100)k += log10(pow(2, 100));elsek += log10(pow(2, m));m = m - 100;}long long ans = (long long)k;printf("%lld\n", ans);}return 0;}
2m
2m
2m
阅读全文
0 0
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- #2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- #2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 2017 Multi-University Training Contest
- 网易2017 跳石板问题
- ionic3框架开发之-SRM移动应用之通讯录开发
- Android根据byte数组,生成图片,图片名字以当前时间作为名字
- Nginx配置SSI
- OutOfMemoryError异常总结
- 2017 Multi-University Training Contest
- php接口接收json数据
- nodejs+mongoose连
- 单例模式
- 关于radio 单选框在项目中的一些心得
- leetcode10
- 超绚丽的HTML5地图分布动画
- 一个简易的“返回顶部”页面效果
- linux top命令参数详细介绍