0

我有一个变量作为页码(page),其值每次递增一。[页码] 但是,现在我需要将此编号自定义为 1,1,2,2,3,3..

你能建议任何生成这种系列的公式吗?

编辑:(答案)

在玩了一段时间的宏和 VBA 之后,我想出了一种方法来为 MS word 页码生成这种类型的系列。这可以通过公式和单词中的 {Page} 变量轻松完成 -

{=(({PAGE} + MOD({PAGE},2))/2)}

4

8 回答 8

2

答案很简单:(n + 1) / 2

于 2010-10-14T10:35:11.890 回答
1

javascript,适应套件:

for(i=0; i>yourMaximum; i++){
    WriteSomewhere(i + "," + i);
    if(i != i - yourMaximum)   WriteSomewhere(",");
}
于 2010-10-14T10:36:05.740 回答
1

你可以做这样的事情:

    for (int i = 0; i < (pages * 2); i++) {
        System.out.println((i / 2) + 1);
    }
于 2010-10-14T10:37:11.400 回答
1

为时已晚,但它可能会帮助某人。

这个问题的数学答案:

您无需搜索所有 n 个数字即可获得特定结果

1 2 3 4 5 6 7 8 9 。. . . . . . n

1 1 2 2 3 3 4 4 5 。. . . . . . f(n)

通式:

f(n) = ( n - ( (-1) + (-1)^n )/2 )/2

使用第一个(-1),您可以像这样改变结果:

f(n) = ( n - ( ( 3 ) + (-1)^n )/2 )/2

1 2 3 4 5 6 7 8 9 。. . . . . . n

0 0 1 1 2 2 3 3 4 。. . . . . . f(n)

于 2013-10-05T10:56:46.917 回答
0

Python:

(int(x/2+1) for x in itertools.count())
于 2010-10-14T10:35:03.277 回答
0

红宝石

(1..10).map {|n| [n,n]}.flatten
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]

或者

(1..10).inject([]) {|m,n| m<<n<<n}
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]

或者

(1..10*2).map {|n| (1+n)/2}
=> [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10]
于 2010-10-14T10:46:51.570 回答
0

C#,不是一个公式,而是一个简单的算法。

int[] pages = new int[2*N];
for(i=0; i<N; i++)
{
    page[2*i] = i+1;
    page[2*i+1] = i+2;
}
于 2010-10-15T20:30:56.620 回答
0

在玩了一段时间的宏和 VBA 之后,我想出了一种方法来为 MS word 页码生成这种类型的系列。这可以通过公式和单词中的 {Page} 变量轻松完成 -

{=(({PAGE} + MOD({PAGE},2))/2)}

于 2010-10-26T06:21:43.293 回答