描述
计算两个双精度浮点数a和b的相除的余数,a和b都是正数的。这里余数(r)的定义是:a = k * b + r,其中 k是整数, 0 <= r < b。
输入
输入仅一行,包括两个双精度浮点数a和b。
输出
输出也仅一行,a÷b的余数
样例输入
73.263 0.9973
样例输出
0.4601
提示
注意:输出时小数尾部没有多余的0,可以用下面这种格式:
double x;
x = 1.33;
printf("%g", x);
代码:
(c++)
#include<iostream>
using namespace std;
#include<iomanip>
/*描述
计算两个双精度浮点数a和b的相除的余数,a和b都是正数的。这里余数(r)的定义是:a = k * b + r,其中 k是整数, 0 <= r < b。
输入
输入仅一行,包括两个双精度浮点数a和b。
输出
输出也仅一行,a÷b的余数
样例输入
73.263 0.9973
样例输出
0.4601
提示
注意:输出时小数尾部没有多余的0,可以用下面这种格式:
double x;
x = 1.33;
printf("%g", x);
*/
int main(){
int k = 0;//记录a与b之间的倍数关系
double a=0, b = 0,r=0;
cin >> a;//输入被除数
cin >> b;//输入除数
k = a / b;
r = a - k * b;
printf("%g", r);//输出a/b的余数
system("pause");
return 0;
}
(Java)
import java.util.Scanner;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double a = scanner.nextDouble();
double b = scanner.nextDouble();
BigDecimal a1 = new BigDecimal(Double.toString(a));
BigDecimal b1 = new BigDecimal(Double.toString(b));
BigDecimal c = a1.remainder(b1);
System.out.println(c);
}
}