1

可以阅读有关增强(此处:http ://tibasicdev.wikidot.com/augment

我想要一个与扩充相反的程序。我想要做的是获取一个列表,比如 L1,然后将其划分为等长的子列表并将它们存储到 L1、...、Lk 中以获得任意 k。如果需要,我可以将数字 23 多次添加到 L1,直到我可以对其进行分区。我希望每个列表都有 n 个元素。

例子:

取 L1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

我想将它划分为长度为 n = 3 的相等子列表

L1 有 10 个元素,不是 3 的倍数,所以我将 23 加两次得到:

L1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 23}

然后我将它划分为长度为 3 的相等子列表并得到:

L2 = {1, 2, 3}

L3 = {4, 5, 6}

L4 = {7, 8, 9}

L5 = {10, 23, 23}

然而,这是一个具体的例子,但我希望我的程序适用于任何 n,以便我可以去 N->T:prgrParttition 并运行它。

4

1 回答 1

0

这是这个问题最明显的答案,但它是我在需要将列表拆分为多个子列表时一直使用的方法。

程序提示用户输入列表 ( L1) 和行大小 ( A),然后将列表拆分为每个dim(L1)/A包含A元素的列表。结果Ans以矩阵形式返回到变量中。

DelVar [A]Prompt L₁,A
{int(dim(L₁)/A),A→dim([A]
For(B,1,Aˉ¹dim(L₁
For(C,1,A
L₁(AB-A+C→[A](B,C
End
End
于 2015-02-28T13:27:06.067 回答