有三瓶酒,n个人喝,每个人每次喝一口,每个人喝的量不一样,当三瓶酒喝完,正好有一个人喝了一瓶,问每瓶酒分别有几个人喝了。用c编程,据说不到10行代码就能实现!有高人
先假设每瓶酒为500毫升,有三个人喝,甲10毫升,乙15,丙20,
三个人轮流喝一口的话,大概在34回合就喝完了。500×3÷(10 15 20)=~33.33333,如果求余的话33回合后还剩15毫升酒,因此最后两口由甲和乙来完成。那谁喝完整瓶酒呢?很简单,把33乘每个人的口量,10×33=330;15×33=495;20×33=660;加上余数后甲喝了340,乙喝了500,丙660。乙刚好喝了一整瓶酒。每瓶酒几个人喝了,这里三个人一个回合喝不完一瓶所以三瓶酒都是三个人喝的,其实算法也很简单,就是求余而已。写成c程序确实不需要多少代码,改天写写看
我觉得你的问题描述得不够清楚,题目只说每个人喝的量不一样,但每个人的酒量是已知数还是未知数呢。。还有每个人每次喝一口,那喝的顺序是已知数还是未知数?
应该需要每个人每口的量和总量吧。