本帖最后由 世界客都 于 2024-4-12 20:38 编辑
总 结 ——世界客都 2024/4/12 首先十分感谢各位版主、各位老师的捧场,大家都献上了自己精彩的公式,对各位表示衷心感谢。 因为水平和精力有限,请恕我不能对所有老师的公式进行一一分析和讲解。 开始分析: 无论任何时候,我们学习知识亦或是解题,都要学会见微知著,举一反三。在漫长的学习表格公式生涯中,有许许多多的问题包含着一些本质的问题,一些重要的思维方式。这些思维方式,除了让我们能写出好的公式以外,其实还无形中影响着我们的生活方式,为人处世的方式,这是毋庸置疑的。 在这道题中,相信绝大多数人最初看到都是没有啥好思路的。这个时候,我们应该从简单的例子着手,由易到难,分析一下解题的思路。 我以1△2△3△4△5△6△7△8△9△10△11 为例 我们对比一下以下2个式子: 1△2△3△4△5△6△7△8△9△10△11=0 1+2+3+4+5+6+7+8+9+10+11=(11+1)*11/2=66 (注:第一项+最后一项的和乘以个数除以2就是总和是等差数列的求和方式,这是不难的,例如1+2+3+4=?我们让1+2+3+4式子各个数字加上4+3+2+1各个数字,结果是5+5+5+5=20,除以2结果为10就是1+2+3+4的结果) 三角形不可能全部是+,也不可能全部是-,这是显而易见的,肯定是有+有-才能让结果为0. 我们到现在也不知道哪些是+,哪些是- 但是,可以肯定的是,如果把上2个式子一加,如果三角形是减号的,那么上下2式的数字会抵消掉,三角形是加号的,上下2式的数字就会保留,打个比方,如果4前面是减号,那么上面是减4,下面是加4,那么就抵消掉了,变成0了。 那么这些前面是加号的数字和是多少呢? 就是66/2=33,因为1前面没有符号,我们把1去掉,就是33-1=32 也就是说,我们就算不知道哪些数字前面是加号,但是我们可以肯定,这些前面是加号的数字的总和是32。 (在这里我插一个问题以外的知识: 例如:1△2△3△4△5=0是无解的,为什么? 反证法:若成立,则前面是加号的数字的总和是5*6/4-1=7.5-1=6.5(除4是除以2再除以2),这显然是错误的,都是正整数,加起来怎么会有0.5呢?即得证。也就是说只需要看n(n+1)/4是不是整数,如果是整数就有解,不是就没有。) 现在接下来的问题是: 我们怎么去凑这32。因为加号个数要最少,那么数字肯定要最大。 于是,我们从后面开始加 11 11+10=21,不够 11+10+9=30,还是不够。 11+10+9+8=38,太多。 从这里看出,3个加号肯定是不够的,要4个,显而易见,还有一个加号应该放在哪里呢?就放在32-30=2前面。 是吧,大家看到这里就恍然开朗了吧,思路就是这样,以后大家遇到难的题目也可以这样分析,从简单的入手,找找规律。 接下来就开始写公式了 这个题目用let+sequence是比较理想的,我最初都没用let,反复的用一个结果,导致公式很长,我看大家都用了,可以确保字符数在100左右,这是理想的。 结合刚刚的分析,首先我们定义一个名称a =LET(a,SEQUENCE(B2-1)+1 从2开始的一个序列,因为1前面没有符号,从2开始进行判断,不一定非要这样写哈,供参考。 然后定义一个b: =LET(a,SEQUENCE(B2-1)+1,b,B2*(B2+1)/4-1-(a+B2)*(B2+1-a)/2 这里:B2*(B2+1)/4-1 这一部分是前面是加号的数字总和 (a+B2)*(B2+1-a)/2 这一部分是累加求和,即2+...n的和,3+...n的和,4+...n的和, n-1+n的和,n的和 然后用a去减b,如果是大于等于0的(这里要注意,有可能是等于0的哈)或者a中如果有值是相减后大于0中的最小值的,返回加号,否则返回减号。 (这应该是非常好理解的,假如你已经完全理解了上面1△2△3△4△5△6△7△8△9△10△11这个例子的计算过程) 也即:IF((b>=0)+(a=MIN(IF(b>0,b))),"+","-") 最后再用返回的加号,减号连接一下a 最后1再连接上,即得: =LET(a,SEQUENCE(B2-1)+1,b,B2*(B2+1)/4-1-(a+B2)*(B2+1-a)/2,1&CONCAT(IF((b>=0)+(a=MIN(IF(b>0,b))),"+","-")&a)) 最后,再次感谢: kuangben8 yibao2 alan57 捡回一个小僵尸 jivy1212 象山海鲜(版主) Bjzzxhzl xlllw203 你是那块小饼干 Lws xiaoai007 共11位尊贵的老师回帖或给予解答,谢谢各位。 当然,还有其他许许多多的老师因为各种原因没有能来参与但是有参与我问题的思考,一并向你们致以诚挚的感谢。 期待日后我的问题能带来更多更棒的解答,谢谢大家。
|