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 between 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 k that is suitable for the specific supercomputer.
Input
The input contains multiple test cases. Each test case in one line contains only one positive integer 1≤m≤105.
Output
For each test case, output " Case #y denotes the answer of corresponding case.
Sample
Sample Input 1 64 Sample Output Case #1: 0 Case #2: 19
题意:
给出10^k ≥ 2^m -1,求k的最大整数
思路:
令10^k = 2^m 两边取对数,得 k = m*log10(2)的整数部分。
代码:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #include<math.h> using namespace std; int main() { int flag = 1,n; while(scanf("%d",&n)!=EOF) { int ans= (n*log10(2)); printf("Case #%d: %d\n",flag++,ans); } return 0; }