我需要从一系列数字中找到一个缺失的数字
,例如
4 8 12 16 __ 24。
我需要找到丢失的号码。我该如何以编程方式执行此操作?
数字和缺失的位置不是静态的,因此它们应该能够改变。
希望有可能。
答案 0 :(得分:1)
如果你知道它总是一个算术级数,你可以使用公式:
an = a1 + (n - 1) * d
a1是第一个元素,d是2个元素之间的差异,n是要计算的位置,在你的情况下:
an = 4 + (5 - 1) * 4 = 20
答案 1 :(得分:1)
你可以使用一些愚蠢的linq,就像这个愚蠢的例子:)
var numbers = new List<int>{4, 8, 12, 16, 24, 28, 36};
int first = numbers.First();
int last = numbers.Last();
var missing = Enumerable.Range(first, last).Where(n => n % first == 0).Except(numbers);
Returns:
20
32
- 为downvotes支持自我 -