分遗产
1 题目描述
有一位阿拉伯老人,生前养有 11 匹马,他去世前立下遗嘱:大儿子、二儿子、小儿子分别继
承遗产的 1/2、1/4、1/6。
儿子们想来想去没法分:他们所得到的都不是整数,即分别为 11/2、11/4、11/6,总不能把
一匹马割成几块来分吧?
聪明的邻居牵来了自己的一匹马,对他们说:“你们看,现在有 12 匹马了,老大得 12 匹的 1/2
就是 6 匹,老二得 12 匹的 1/4 就是 3 匹, 老三得 12 匹的 1/6 就是 2 匹,还剩一匹我照旧牵回家
去。”这样把难分的问题解决了。
现在又有一个老人要分遗产了,他有 m 匹马(1≤m≤1000000),并且有 n 个儿子(1≤n≤10),
每个儿子分别得到 1/a1、1/a2、...、1/an 的遗产。
因为马不能分割,并且遗产要全部分完,所以请你用上面那位聪明的邻居的方法计算一下每个
儿子能分到几匹马。
1.1 输入描述:
输入包括多组测试数据。
每组测试数据包括两行:
第一行为 m、n,分别代表老人拥有的马匹数和几个儿子。
第二行有 n 个数据 a1、a2、...、an,依次代表大儿子、二儿子...第 n 个儿子分到的遗产的
份额。(0 < ai < 50)
程序以输入 0 0 结束,该行不做处理。
1.2 输出描述:
按照上面介绍的方法解决这个问题。
如果那种方法不能解决这个问题(即所有儿子不能得到整数匹马),则你的程序要输出"Can't
Solve";
否者依次输出大儿子、二儿子...得到的马的匹数。
每个数之间有一个空格隔开(最后一个数据后面没有空格)。
评论0