1 条题解

  • 0
    @ 2025-9-16 0:37:42

    核心逻辑

    计算余数的逻辑不变:通过 k = floor(a / b) 确定整数商,再用 r = a - k * b 求得余数(满足 0 ≤ r < b)。关键修正输出格式,需自动保留有效小数位数,去除尾部无意义的零

    代码实现

    C

    #include <stdio.h>
    #include <math.h>
    
    int main() {
        double a, b;
        scanf("%lf %lf", &a, &b);
        double k = floor(a / b);
        double r = a - k * b;
        printf("%g\n", r);  // %g自动处理有效位数,去除尾部零
        return 0;
    }
    

    C++

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        double a, b;
        cin >> a >> b;
        double r = a - floor(a / b) * b;
        cout << r << endl;  // cout默认去除尾部零,保留有效位数
        return 0;
    }
    

    Python

    import math
    
    a, b = map(float, input().split())
    k = math.floor(a / b)
    r = a - k * b
    print("{0:g}".format(r))  # 'g'格式自动处理有效位数和尾部零
    

    格式说明

    • 三种语言均使用“自动适配有效位数”的格式(C的%g、C++的cout默认、Python的g),确保:
      1. 样例输入73.263 0.9973输出0.4601(4位有效小数);
      2. 其他测试用例根据结果自动保留1-4位小数,去除尾部零(如5024.4516628.4等)。
    • 计算逻辑严格遵循余数定义,确保 0 ≤ r < b
    • 1

    信息

    ID
    429
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    递交数
    384
    已通过
    39
    上传者