1 条题解

  • 0
    @ 2025-5-26 22:06:05

    题目分析

    本题要求根据自行车车轮的直径、转动圈数和总时间,计算行驶的总距离(英里)和平均速度(英里/小时)。核心在于单位换算和基本物理公式的应用。

    关键公式

    1. 周长计算:车轮每转一圈的距离 == ππ × 直径
    2. 总距离计算:总距离 == 周长 ×× 圈数
    3. 速度计算:速度 == 总距离 ÷÷ 总时间

    单位换算

    • 11英里 = 52805280英尺
    • 11英尺 = 1212英寸
    • 11小时 = 36003600

    代码实现分析

    #include<stdio.h>
    int main()
    {    
        double d,s;   // d为直径,后用于存储距离;s为时间,后用于存储速度
        int n,i=0;    // n为圈数,i为测试用例编号
        while(scanf("%lf%d%lf",&d,&n,&s),n!=0)  // 循环读取输入,直到圈数为0
        {
             i++;  // 用例编号递增
             d=3.1415927*d/12/5280*n;  // 计算总距离(英寸转英里)
             s=d/s*60*60;   // 计算速度(英里/小时)
             printf("Trip #%d: %.2f %.2f\n",i,d,s);  // 输出结果(保留两位小数)
        }
    }
    

    复杂度分析

    • 时间复杂度O(T)O(T),其中T为测试用例的数量。
    • 空间复杂度O(1)O(1),仅使用固定的额外变量。

    该解法简洁高效,直接通过数学公式完成单位换算和计算,符合题目约束。

    • 1

    信息

    ID
    666
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者