题目链接:
题目大意:给出m,求(2^m)-1化成十进制是几位
关键思想:当m很大时,-1可以不考虑。2^m=10^x=(10^log2(10))^x,x就等于2^m除以一个系数。
代码如下:
#include#include #include using namespace std;double x=3.321928095;//精度一定要够,否则WAint main(){ int cnt=0; int n; while(~scanf("%d",&n)){ printf("Case #%d: %.0f\n",++cnt,floor(1.0*n/x)); } return 0;}