Skip to main content
  1. Posts/

hdu 6033 | 2017 Multi-University Training Contest - Team 1 A Add More Zero

·1 min
Note: This article is available in Chinese only. 本文暂无英文版本。 View original

http://acm.hdu.edu.cn/showproblem.php?pid=6033

题意:
#

问最大的x,满足 

$$ 10^{x} \geq 2^{m}-1  $$

思路:
#

看到指数的比较大小,直觉就是取下对数啦

其实直接可以把1忽略,因为2的幂次显然不会出现末尾是0,所以不会影响结果

两边对10取对数得到 

$$  x\leq \log_{10} 2^{m} $$

右边用换底公式就是 

$$ \frac{m}{\log_{2}10 }  $$

代码:

 1/* ***********************************************
 2Author :111qqz
 3Created Time :2017年10月31日 星期二 23时12分47秒
 4File Name :6033.cpp
 5************************************************ */
 6
 7#include <bits/stdc++.h>
 8#define PB push_back
 9#define fst first
10#define sec second
11#define lson l,m,rt<<1
12#define rson m+1,r,rt<<1|1
13#define ms(a,x) memset(a,x,sizeof(a))
14typedef long long LL;
15#define pi pair < int ,int >
16#define MP make_pair
17
18using namespace std;
19const double eps = 1E-8;
20const int dx4[4]={1,0,0,-1};
21const int dy4[4]={0,-1,1,0};
22const int inf = 0x3f3f3f3f;
23int m;
24int main()
25{
26    #ifndef  ONLINE_JUDGE
27    //freopen("./in.txt","r",stdin);
28  #endif
29    int cas = 0 ;
30    while (~scanf("%d",&m))
31    {
32        double p = log(10)/log(2);
33        int ans = int(m/p);
34        printf("Case #%d: %d\n",++cas,ans);
35    }
36
37  #ifndef ONLINE_JUDGE
38  fclose(stdin);
39  #endif
40    return 0;
41}

Related

vimrc for ACM-ICPC (赛场用)

·1 min
弄了点比较短的,赛场上用的配置文件orz 1map <F5> :call Co()<CR> 2func! Co() 3 exec "w" 4 exec "!g++ % -std=gnu++11 -Wall -o %<" 5 exec "! ./%<" 6 7endfunc 8syntax on 9set nu 10 11autocmd BufNewFile *.cpp exec ":call SetTitle()" 12func SetTitle() 13 let l = 0 14 let l = l + 1 | call setline(l,'#include <bits/stdc++.h>') 15 let l = l + 1 | call setline(l,'using namespace std;') 16 let l = l + 1 | call setline(l,'const int inf = 0x3f3f3f3f;') 17 let l = l + 1 | call setline(l,'#define ms(a,x) memset(a,x,sizeof(a))') 18 let l = l + 1 | call setline(l,'typedef long long LL;') 19 let l = l + 1 | call setline(l,'int main()') 20 let l = l + 1 | call setline(l,'{') 21 let l = l + 1 | call setline(l,' return 0;') 22 let l = l + 1 | call setline(l,'}') 23endfunc 故地重游,rp++

2016 NEERC Northern Subregional Contest A Anniversary Cake (水题)

·1 min
题意: # W_H的方格纸,共有(w+1)_(H+1)个整点,现在将2个蜡烛放在2个不同的整点上。蜡烛不会被放在边界上。现在给出方格纸的尺寸和2个蜡烛的坐标,求一条线段将方格纸拆成2部分,而且这条线段不经过任何一个蜡烛且使得每一部分恰好有一个蜡烛。问线段的起点和终点。

Codeforces eductional round 29

·6 mins
比赛链接 10个月没写题了,菜啊。进行一点恢复性训练好了。 A: 给一个数,可以在填写若干(或者0)个前缀0,问能否变成回文数。