我想标题涵盖了它。
我所看到的大多数公式都是从1到n的偶数或奇数之和。我希望我可以通过从较高的范围减去较低的范围,例如:
从49到157的赔率之和:
(所有赔率之和-> 157) -(所有赔率之和-> 45)。
不过,我听到的是,有一个通用的公式,其中所有三个问题都出现了,你给出了第一个和最后一个数字,以及它们之间的间隔,然后你就完成了?
当我试图编写一个可以接受用户输入的任意两个值并每次提供一个答案的程序时,这并不容易:
1-99的赔率之和?2- 98的赔率之和?1- 99的偶数之和?2的均数之和= 99?3 -3的均数之和?
等等,包括1-99的所有数字之和.等。
我猜这不是一个很难的问题,有人会有一个简单的解决办法吗?
你会怎么做?
发布于 2016-02-11 23:37:52
从1到2n的奇数之和是(n - 1)平方:例如。1 + 3 + 5 = 9为3平方。1 + 3 + 5 + 7 = 16为4平方。
对于不以1开头的系列,只需减去较小的平方:(1 + 3) + 5 + 7 = 16,去掉括号的术语是16 - 4或4^2 - 2^2 = 12。通常:a.b奇数整数,和是((b-1) / 2)^2 - ((a-1) / 2)^2,和包括在和中的a和b。
发布于 2016-02-12 16:32:03
对于从a到b的所有奇数,不论a或b是奇数还是偶数:
((b + (b mod 2)) / 2)^2 - ((a - (a mod 2)) / 2)^2
例如,从4到9:
((9 + (9 mod 2)) / 2)^2 - ((4 - (4 mod 2)) / 2)^2 = ((9 + 1) / 2)^2 - ((4 - 0) / 2)^2 = (10 / 2)^2 - (4 / 2)^2 = (5)^2 - (2)^2 = 25 - 4 = 21
确认,5+7+9= 21
甚至看起来更吓人。它将是:(((b - (b mod 2)) / 2)^2 + ((b - (b mod 2)) / 2)) - ((((a + (a mod 2)) - 2) / 2)^2 + (((a + (a mod 2)) - 2) / 2)
所以,从6到11 (6 +8+ 10 = 24):
(((11 - (11 mod 2)) / 2)^2 + ((11 - (11 mod 2)) / 2)) - ((((6 + (6 mod 2)) - 2) / 2)^2 + (((6 + (6 mod 2)) - 2) / 2) = (((11 - 1) / 2)^2 + ((11 - 1) / 2)) - ((((6 + 0) - 2) / 2)^2 + (((6 + 0) - 2) / 2) = ((10 / 2)^2 + (10 / 2)) - (((6 - 2) / 2)^2 + ((6 - 2) / 2)) = ((5)^2 + 5) - ((4 / 2)^2 + (4 / 2)) = (25 + 5) - ((2)^2 + 2) = 30 - (4 + 2) = 24
发布于 2016-02-12 15:49:19
对于偶数,之和为(n / 2)^2 +n/2SO2+4+6+8=(8/2 )^2 +(8/2)= 16 +4= 20
因此,对于包含a和b的级数a.b,偶数之和为:((b / 2)^2 +(b/2 )) - ((a / 2)^2 +(a/2 ))
https://stackoverflow.com/questions/35352040
复制相似问题