1029:计算浮点数相除的余

【题目描述】
计算两个双精度浮点数a和b的相除的余数,a和b都是双精度浮点数。这里余数(r)的定义是:a=k×b+r,其中k是整数,0≤r<b。

【输入】
输入仅一行,包括两个双精度浮点数a和b。

【输出】
输出也仅一行,a÷b的余数。

【输入样例】
73.263 0.9973
【输出样例】
0.4601
题目分析:
本题考察余数的定义,有的同学会直接使用取余运算符与计算余数,结果会报错,原有是取余运算符%只适用与整型之间,本题是浮点数。
所以会报错,这里我们要先搞清楚,什么是余数,余数本质上是除法过程中没有被除尽的部分,剩余的部分,那怎么再不使用取余运算符
的情况下去计算余数呢,这里我们举个例子:
求10除以3的余数,我们都知道结果为1,怎么来的呢,是因为10除以3的商为3,并且在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷除数=商,记作:被除数÷除数=商··· ···余数
这里我们要求余数,只需要把商求出来就行了,带入公式,余数 = 被除数÷除数-商。

#include<iostream>
using namespace std;
int main(){
    double a,b,r,k;
    cin>>a>>b;
    k=int(a/b);
    r = a - k*b;
    cout<<r;
    return 0;
}
posted @ 2021-12-03 15:13  MacToT  阅读(1827)  评论(0编辑  收藏  举报