数学连乘和累加运算符号_看完这篇专栏,别再傻傻地写一大长串的加号和乘号了 #总和与连乘#...

连乘符号∏

圆周率π,想必大家小学甚至幼儿园时便耳熟能详了。π的小写我们都清楚是表示圆的周长与直径之比,其值约为3.14,。当我们把π的小腿给捋直,再放大,得到的门似的图形就是π的大写。它是这样的:a29eb60e60e2764227ed036d64bcf6be.png连乘符号

它的一般形式为:ed9ab12e6627638f1c0d50e1db72390e.png连乘符号

首先,很重要的一点,连乘符号∏只能表示自然数个有相同的运算f的数相乘。

通俗点讲,就是∏下面的a、b都必须是自然数,f(i)指的是对i进行f运算,什么运算都行。

上面的这个符号,它表示把从a到b(包括a和b)的所有整数在分别进行相同的f运算后相乘。(表述有点困难和不严谨,理解了就行)。

举个例子,比如说上面这个连乘,我们把它转化成一般的形式:c78a79e8066391e9421625e27730a1fd.png这个是很容易就能看懂的形式

我们把字母替换成实实在在的数,再来举几个例子:30fc476d0fb385026f3763296b0c19c7.png这里的f运算就是把从1到3的所有整数乘以一,然后再相乘

3bde11d3afdc68988b84ca084fe162c4.png这里的f运算就是把从1到3的所有整数乘以二,然后再相乘

明白了吗?我们再举一个复杂的例子:c83cd48aae13ed349216ba720fb27cb1.png这个f运算我也表述不清楚,自己斟酌着理解

再来一个超复杂的:708730067a29bf906edb384541f1d1a3.png其实不难,按照我之前说的,把从7到8的所有整数进行这个复杂的f运算后再相乘就行了

想必看到这里的你已经理解了连乘符号∏的用法和意义。

再扩展一个“阶乘”:

1( )1 ()1()=6

在括号中添加数学符号,使等式成立,你行吗?

我给出答案:

(1+1+1)!=3!=3×2×1=6

这个“!”不是语文的感叹号,而是数学的阶乘符号。

阶乘符号的定义是:27cc455857e828733838761492b2a260.pnga为自然数

如果你理解了连乘符号∏,那么阶乘符号!也是很好理解的。

数学界为了避免运算中的谬论(例子我找不到了),还有一项规定:

0!=1,甭管它为什么,没有为什么,这就是规定!(这个是感叹号,哈哈)

总和符号∑

当你理解了连乘符号∏后,理解总和符号∑是轻而易举的了。

定义我再扯一下:

总和符号∑的一般形式为:6dd011b30da938bcedf848a0fc82b826.pnga,b为自然数,其它不用我再多扯了吧

它表示的是:把从a到b(包括a和b)的所有整数在分别进行相同的f运算后相加。(和连乘就差了一个字,不信自己倒回去康)

话不多说,直接上例子:1565ab8a1f72e9aa88580b5371dba47e.png乘号变成了加号

我们都听过高斯小时候求1+2+3+···+100=5050的经历,我们把它转化一下,求和的那些公式下期再扯:990ac87b705ecd5fb566e34007f1e3eb.png这个答案我都背下来了

还有很著名的用小麦粒摆满国际象棋盘的例子:937e7ee1f7a9fe520951b1389ef5f9d4.png变得简单许多了吧?

等差数列求和(这个不是一般的,一般的我懒得打,太长):3ccc30ab51664d34f68fdb3f24bec434.pnga是公差,n叫项数

等比数列求和(这个也不是一般的,一般的我懒得打,太长):9af414a513ac2d7308fdb41bba386d48.pnga叫做公比,其它的我忘了

还有一个很经典的(一尺之锤,日取其半,万世不竭):bec39220ab64db106c96d6e103f79577.png才不会万世不竭呢!

你现在肯定也明白了总和符号∑的用法,这样你就集齐了连乘、总和二件套了。

看完这篇专栏,别再傻傻地写一大长串的加号和乘号了,记得用连乘、总和二件套!

下期:对数、组合与排列、等差等比数列、高阶等差数列

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题可以通过动态规划来解决。首先将给定的一数分为两个部分,即将乘号插入的位置。假设乘号插入在第i个位置,那么可以将这数分为左边的部分 nums[:i] 和右边的部分 nums[i:],乘号插入后变为 nums[:i] * nums[i:]。 对于左边的部分和右边的部分,可以分别使用动态规划来求出它们的最大子序和。设 left_max_sum[i] 表示左边部分以第i个数结尾的最大子序和,right_max_sum[i] 表示右边部分以第i个数开头的最大子序和。则有: left_max_sum[i] = max(left_max_sum[i-1] + nums[i], nums[i]) right_max_sum[i] = max(right_max_sum[i-1] + nums[-i], nums[-i]) 然后将 left_max_sum 和 right_max_sum 进行组合,找到乘号插入的位置 i 使得 left_max_sum[i] * right_max_sum[-i] 最大,即可得到使和最大的方案。 以下是一个Python的实现,可以用于求解给定一数,给定一个乘号插入,使和最大的方案: ```python def find_max_sum(nums): n = len(nums) left_max_sum = [0] * n right_max_sum = [0] * n # 计算左边部分和右边部分的最大子序和 left_max_sum[0] = nums[0] for i in range(1, n): left_max_sum[i] = max(left_max_sum[i-1] + nums[i], nums[i]) right_max_sum[0] = nums[-1] for i in range(1, n): right_max_sum[i] = max(right_max_sum[i-1] + nums[-i-1], nums[-i-1]) # 找到乘号插入的位置 max_sum = -float('inf') for i in range(n-1): max_sum = max(max_sum, left_max_sum[i] * right_max_sum[n-i-2]) return max_sum ``` 你可以将需要求解的一数作为参数传递给`find_max_sum`函数,它将返回使和最大的方案。例如,下面是一个示例: ```python >>> nums = [1, 2, 3, 4, 5, 6] >>> find_max_sum(nums) 90 ``` 在这个示例中,给定的一数为`[1, 2, 3, 4, 5, 6]`,按照上述方法可以得到一个最大和为`90`的方案,即将乘号插入在第3个位置,左边部分为`[1, 2, 3]`,右边部分为`[4, 5, 6]`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值