Problem1774--浮点数的计算

1774: 浮点数的计算

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

给定三个浮点数,请判断前两个浮点数的和是否等于第三个浮点数,若相等输出"YES!",否则输出"NO!"。

Input

多组数据。
每组输入一行。一行包含三个浮点数。
文件以EOF结束。

Output

对每组输入,若前两个浮点数之和等于第三个浮点数,则输出"YES!",否则输出"NO!"。

Sample Input Copy

0.1 0.2 0.3
0.114 0.514 0.666
-0.1 0.1 0

Sample Output Copy

YES!
NO!
YES!

HINT

计算机表⽰浮点数(float或double类型)都有⼀个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分进行舍入,造成一定的精度问题,导致表示的浮点数的值不能完全等同于原数的值。
例如:
    double a = 0.1, b = 0.2; 
    printf("%.17lf",a+b);//结果为0.30000000000000004。
因此,如果两个同符号浮点数之差的绝对值小于或等于某一个可接受的误差(即精度),我们就认为它们是相等的。
本题中的可接受的误差为1e-6。

Source/Category