求问那些数字加起来可以得152205.3 - 爱问答

(爱问答)

求问那些数字加起来可以得152205.3

求问那些数字加起来可以得152205.3

这个问题,或是类似、相似的问题,就自己而言,已经看到过不下20多个了;

 

这里先给出一个解决方法,然后再作一些讨论;


假设在A列,从第r=2行开始,连续的单元格给出要判别的数字,比如n=6个数;

在C列给"和"的结果t:

 

先在VBA的"模块"页面编译好以下代码:


Function re(r, n, t)

   Dim nu(15), nv(15)

   Dim i As Long

   m = 0

   For i = 1 To n

     x = Cells(r - 1 + i, 1)

     If Round(x, 8) <= Round(t, 8) Then

       m = m + 1

       nu(m) = x

     End If

   Next i

 

   For i = 1 To m ^ m

     s = 0

     re = ""

     For j = 1 To m

       nv(j) = 0

     Next j

     For j = 1 To 1 + Int((i - 1) / m ^ (m - 1))

       nv(j) = ((Int((i - 1) / m ^ (j - 1))) Mod m) + 1

       For k = 1 To j - 1

         If nv(k) = nv(j) Then GoTo 10

       Next k

     Next j

     For j = 1 To m

       If nv(j) > 0 Then

         s = s + nu(nv(j))

         re = re & Format(nu(nv(j)), "0.000") & "+"

       End If

     Next j

     If Abs(s - t) < 0.00000001 Then

       re = Format(t, "0.000") & "=" & Left(re, Len(re) - 1)

       Exit Function

     End If

10 Next i

   re = "未能匹配得到!"

End Function


该函数有3个输入参数,分别对应上述的r,n,t

所以,在E2单元格输入公式

=re(2,6,$C2)

这样即可判别出"和"t是由A列中的哪几个数字加总而来的;

见附图:

求问那些数字加起来可以得152205.3

 

但是,但是,但是,这是一个非常"鸡肋"的方法:

1 由于要对任意数据进行判别,只能采用"穷举"法,没有更为"智能"、"睿智"的方法;


2 "穷举"是一种很"无奈"、很"鸡肋"的方法,它牵涉到n^n的可能性,比如n=3,3^3=27种;还有题述给出的n=12,12^12=8,916,100,448,256【约9万亿】种;当然,排除了一些重复,实际会少一点,但数量级是不会减少的;


3 由于实际的算法只是找到第1种可能的"加总形"即可,所以最终的计算组合会视乎总个数n及加总可能涉及到的最后一个数值的前后有关;

计算中,尝试了n=10,加总涉及的最后是的第6个数的形,以VBA这种效率低下的"解析程序"语言及不高的手提电脑硬件配置,花费50分钟才能得出"穷举"结果;


4 当然,如果用C++,或汇编语言,上大型或超级计算机,肯定能提高效率;


5 还有一个限制,就是编程语言中的整形数的表达范围,用长整型也仅能到10亿的数级,像题述n=12,9万亿的量级还是无法实现;

当然,可以用编程方法使之能处理"任意"量级的整数,但还是要以时间为代价,也即会增加总体话费的时间;


可能无法解决n太大【即便是题述n=12的情形】的问题,但希望对问题的理解有所帮助。

下拉,自动求和,根据最后一位“.3”可以依次排除。

excel中有自动求和呀

下一篇:CNDPE是什么意思

上一篇:要拒绝毒品,我们除了要知道什么是毒品、知道毒品极易成瘾、知道毒品的危害以外,还要怎么做?

热门标签:
英语 谜语 作文 数学 公式 语文 物理 化学 工艺 java c语言 实验 方程 金属 分子 数据库 硫酸 酒精 运算 石油 vc 世界大战 php 化合物 mysql
最新更新:
电学的一个小问题 为什么打点计时器只能粗略瞬时速度 lookdownupon用法 中专都考不上大学有必要复读一年吗? 如图,已知∠B=∠DEF,AB=DE,请添加一个条件使△ABC≌△DEF,则需添加的条件是__________. 求曲线y=2x^2和直线y=2的所围图形的面积 夜上受降城闻笛是哪句 这个怎么填数字? 小明家下五层楼是5楼,那么小明家上五层楼是几层楼? 填空题,这个题目是怎么算的呢…… 22335577()143中括号里填什么数字。 懂得人帮我看一下这个英文是啥意思??? 最小的物质单位是什么 怎么估算根号52000000 about的重读字母是哪里