如何使用计算机代码检查无限集是否已关闭?

Osi*_* Xu 3 c++ math matlab wolfram-mathematica set

给定k个正整数a 1 <a 2 <a 3 <... <a k,并且所有整数都大于k,我们想检查集合A = {a i:i∈[1,k]} ∪{n:n> a k,n∈ℕ} = {a 1,a 2,a 3,...,a k,a k +1,a k + 2,...}在加法时关闭.这意味着:

Σ 1≤I≤ķ一个*B ∈A,对于任何非负整数b .

例如,{2,4,6,7,8,....}在添加时关闭.

有没有简单的方法来做到这一点?我们可以在Mathematica或Matlab中使用的任何函数?

Mr.*_*ard 5

如果小于k的不连续部分不大,我相信你可以像这样直接接近它:

a = {2, 4, 6};
Tr /@ Subsets[a, {2}];
TakeWhile[%, # < Last@a &];
Complement[%, a] === {}
Run Code Online (Sandbox Code Playgroud)

  • @Ben,也许我误解了这个问题,或者没有理由,但我的意思是该集的有限部分小于'a_k`. (2认同)