1 条题解

  • 0

    分析题目,可以知道,题目让我们求下不等式的最小整数解

    0.088×2n>d×1060.088×2^n>d×10^6

    其中n为折纸次数,d为距离(由于题目所给距单位为km换算成mm需要乘10的6次方)

    将0.088除过去得

    2n>d×109882^n>\frac{d×10^9}{88}

    两边取对数得

    n>log2d×10988=lnd+ln109ln88ln2n>log_2 \frac{d×10^9}{88}=\frac{lnd+ln10^9-ln88}{ln2}

    所以有

    nmin=[lnd+ln109ln88ln2]+1n_{min}=[\frac{lnd+ln10^9-ln88}{ln2}]+1

    由此写出程序

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int d,n;
    	cin>>d;
    	n=(log(d)+log(1e9)-log(88))/log(2)+1;
    	cout<<n<<endl;
    }
    

    信息

    ID
    790
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    (无)
    递交数
    45
    已通过
    18
    上传者