Sigma表示法:i从n到m的序列之和。
Pi表示法:i从n到m的序列的乘积。
答案 0 :(得分:1)
Summation Notation可以理解为:
在数学中,求和是将任何类型的数字序列相加,称为加数或加数;结果是它们的总和。除数字外,还可以对其他类型的值求和:函数,向量,矩阵,多项式,以及通常定义了表示为“ +”的运算的任何类型的数学对象的元素。
[...]
通常,序列的元素通过规则的方式根据其在序列中的位置进行定义。对于简单模式,长序列的总和可以用椭圆代替大多数求和。例如,前100个自然数的总和可以写为1 + 2 + 3 + 4 +⋅⋅⋅+ 99 +100。否则,总和使用Σ表示,其中{\ displaystyle \ textstyle \ sum} \ textstyle \ sum是大写希腊字母sigma。例如,前n个自然整数的总和表示为{\ displaystyle \ textstyle \ sum _ {i = 1} ^ {n} i。} {\ displaystyle \ textstyle \ sum _ {i = 1} ^ {n} i。}
当然有多种方法可以实现这一点,但是,最简单,最向前的方法是使用Enumerable Class
,如下所示:
// Returns the sum
// for i from n (inclusive) to m (exclusive).
var sum = Enumerable.Range(n, m - n).Sum(i => i);
// Alternative
var sum = 0;
for (int i = n; i < m; i++){ sum += i; }
这只能以不同的方式解决,因为LINQ没有pi的任何默认算法〜因此,Enumerable.Aggregate
是可行的方法:
// Returns the product
// for 'i' from n (inclusive) to m (exclusive).
var product = Enumerable.Range(n, m - n).Aggregate((a, b) => a * b);
// Alternative
var product = 1;
for (int i = n; i < m; i++){ product *= i; }