用 a-int(a/b)*b 按题目定义求正浮点数除法余数。
OJ: noi_openjudge
题目 ID: ch0103-11
难度:入门
标签:浮点数数学python
日期: 2026-07-30 23:01
题意
对两个正浮点数求余数
思路
先取 int 就是向下截断。余数为 a - k * b。题目要求末尾不补零,g 格式会按需要输出有效数字。
代码
Python代码
python
a, b = map(float, input().split())
remainder = a - int(a / b) * b
print(f"{remainder:g}")C++代码
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
double a,b;
cin >> a >> b;
int k = a / b;
double r = a - k*b;
cout << r << endl;
return 0;
}复杂度
时间复杂度和额外空间复杂度均为
总结
浮点余数可从定义式构造;本题输入为正数,避免了负数取整方向的歧义。