algorithm - 如何找到最大的总和和最小的正差?

标签 algorithm math addition subtraction

使用数字 9、8、7、6、5 和 4 各一次,找到以下内容:

a) 最大可能的总和

是否有不止一个给出最大可能总和的解决方案?你怎么知道它是最大可能的总和?

b) 最小可能的(正)差异

是否有不止一种解决方案?你怎么知道这是最小的可能差异?

数字必须是 3 位数字。例如,965 + 784 或 879 - 654

最佳答案

嗯,很有趣

区别:

如果您始终为 a_1a_2a_3-b_1b_2b_3 使用元组 (a_1,b_1),(a_2,b_2),(a_3,b_3),区别在于:

100*(a_1-b_1)+10*(a_2-b_2)+(a_1-b_1)

所以对于最小的差异,我想这应该是完整的:-(a_2-b_2) > -(a_3-b_3) > (a_1-b_1):

(a_2-b_2) = 4-9 = -5 = d_2
(a_3-b_3) = 5-8 = -3 = d_3
(a_1-b_1) = 7-6 =  1 = d_1

给你 745-698 = 47 这是唯一最小的,因为在所有其他变体中 d_2 会更大或者 d_3 会更大甚至 d_1。 它也是独一无二的(所以只有一个解决方案),因为它是在正差之后询问的,所以你不能切换数字。

总和:

所以对于我们得到的总和:

100*(a_1+b_1) + 10*(a_2+b_2) + (a_2+b_2)

现在:(a_1+b_1)>(a_2+b_2)>(a_3+b_3):

a_1+b_1 = 8+9 = 17
a_2+b_2 = 7+6 = 13
a_3+b_3 = 4+5 = 9

所以它是 964+875 = 975+864 = 1839,它不是唯一的,但仍然是最大的。 因为你可以改变 b_ia_i 你有 2^3 的可能性来建立这个总和。

关于algorithm - 如何找到最大的总和和最小的正差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234397/

相关文章:

c# - 循环序列中两个数字之间的距离

javascript - 使用最近邻算法缩放 Canvas 图像

performance - 随机SVD奇异值

jquery - 在最近添加的 jquery 函数中调用 jquery 函数

mysql - 为什么mysql中小数相加不正确

algorithm - 带有 "autoplay=1"的嵌入式 youtube 视频。它是否计入观看次数?

arrays - 查找给定值的所有数组子序列

math - 实时计算碰撞——处理时间延迟

c - C 中的算术级数的结果不正确

Java vector/列表元素删除