趣味问题:农夫分牛(有关浮点数的讨论)

有一个农夫,他有17头牛和三个傻儿子。有一天,他死了。他的遗嘱里这样写道:“17头牛,老大得到1/2,老二得到1/3,老三得到1/9。牛不能杀了,也不能卖了换钱。”由于三个儿子太傻了,他们只好求助于邻居。

邻居说道:“这样吧,我先借你们一头牛。”这样一来,一共就有18头牛了,老大得到9头,老二得到6头,老三得到2头,剩下一头还给邻居,大家皆大欢喜。

但是如果不向邻居借牛,三个儿子得到的牛数目(可以为小数)是和这种分法有差距的。现在需要聪明的你求出这个差距的绝对值(精确到小数点后四位)。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{ float x=18.0/2-17.0/2,y=18.0/3-17.0/3,z=18.0/9-17.0/9;
printf("%.4f %.4f %.4f",x,y,z);
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值