c ++程序解决问题

时间:2011-04-01 09:04:04

标签: c++ algorithm

我遇到了一个c ++程序,这是一项任务。
请帮助我。 如果可能,请建议一种方法,提前致谢

问题:

考虑到两艘船,其中一艘可以容纳 a 升水,另一艘可以容纳 容纳 b 升水,确定准确获取 c 所需的步骤数 其中一艘船中的升水。

一开始两艘船都是空的。以下操作计为“步骤”:

  • 清空一艘船,
  • 填充船只,
  • 将水从一个容器倒入另一个容器,而不会溢出,直到其中一个容器为止 无论是满还是空。

输入

整数t,1< = t< = 100,表示测试用例的数量,后跟t组输入数据, 每个由三个正整数组成 a (第一个容器可以容纳的升数), b (第二个容器可容纳的升数)和 c (最终升数量) 一个容器应包含的水,不大于40000,单独给出。

1 个答案:

答案 0 :(得分:2)

听起来像一个简单的数学家庭作业。

我的建议,现在忽略任何编码方面,并专注于你作为一个人如何解决你手中的两艘船。

您有3个变量,即容器的容量。 这里的x和y是你需要a和b工作的数量。在问题a的时候,b和c将被numers取代。

简而言之,ax + by = c

因此,如果c为12,a为2,b为3。

你有 2X + 3B = 12

现在你有一个简单的等式

鉴于你知道你想说12升,你可以自己动手,如果你自己做的话,你将如何解决这个问题。

听起来你要求做作业。