大量的数字可以用逗号格式化以更容易地分成三组阅读。例如。 1050 = 1,050
和10200 = 10,200
。
每三人一组的总和为:
[1050=1,050
给出:1+50=51
[10200=10,200
给出:10+200=210
我需要搜索三分之和的匹配项。即,如果我正在搜索1234
,那么我正在寻找其三和= 1234
的数字。
自235,999
起,最小的匹配为235+999=1234
。没有其他小于235,999
的整数给出的三分之和等于1234。
236,998
以来的下一个最小匹配是236+998=1234
。每次可以加999,但是在达到999后失败,因为由于999的溢出,数字加了1。
更一般而言,我要求的解决方案(从最小到最大)为:
a + b + c + d…= x
其中a,b,c,d…是介于0-999和x之间的任意整数是固定整数
注意,对于任何正整数x,对此都有无限的解决方案。
[如何从最小数目的解开始(对于y个解,其中y可以是任意大的数)来获得解?
有没有一种方法可以做到,而无需蛮力一一循环?我正在处理可能非常大的数字,这可能需要数年时间才能直通。理想情况下,应该做到这一点而不会失败。
大量的数字可以用逗号格式化以更容易地分成三组阅读。例如。 1050 = 1,050和10200 = 10,200。这三组中每组的总和为:1050 = 1,050给出:1 + 50 = 51 ...
如果不考虑由3位数字组成的组,而一次只考虑1位数字,则更容易考虑这个问题。
如果不考虑由3位数字组成的组,而一次只考虑1位数字,则更容易考虑这个问题。