top1编程
← 返回题目
题解

【入门】求落地次数

1 条题解

  • 0
    @ 2026-7-30 0:54:18

    解题思路

    小球第一次从100米落地,落地后高度变为原来的一半。每落地一次就把弹起高度除以2;当弹起高度小于0.5米时停止,输出落地次数。

    参考代码

    // 读取题目给出的数据。
    // 按照题意完成计算。
    // 输出最终答案。
    #include <iostream>
    using namespace std;
    int main(){
    double h=100;
    int n=0;
    while(h>=0.5){
    n++;
    h=h/2;
    }
    cout<<n;
    }
    
    

    复杂度

    循环次数很少,时间复杂度O(log H),空间复杂度O(1)。

    • 1