EOJ Monthly 2018.5 (校赛网络同步赛)A. 浮点数模运算

A. 浮点数模运算

几乎每个学 C 语言的人都会面临这样一种困惑:为什么 % 只支持整数和整数,不支持浮点数。自然,C++ 提供了运算符重载几乎可以很方便地实现自定义的浮点数模运算,但到底是不方便的。

而与此相对比的,Java / Python 等高级语言就直接支持了浮点数模运算。

本题就是:给两个浮点数 ab,求 amodb

然后你会发现,事情并不简单。

Input

一行两个浮点数 ab (0<a,b109),ab 保证保留到小数点后第九位

Output

输出浮点数,相对误差或绝对误差不超过 1015

假设你的答案是 a,标准答案是 b,你的答案正确当且仅当 |ab|max(1,|b|)<1015

Examples

input
3.000000000 2.000000000
output
1.000000000
input
0.400000000 0.200000000
output
0
import java.util.Scanner; 
import java.math.BigDecimal; 
public class Main {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigDecimal a = sc.nextBigDecimal();
        BigDecimal b = sc.nextBigDecimal();
        System.out.printf("%.9f",a.remainder(b));
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37602930/article/details/80292301