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

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

编辑:(答案)

在使用宏和VBA玩了一段时间后,我想出了一种为MS Word页码生成此类系列的方法。这可以轻松使用公式和{page} word中的{page}变量,并带有公式 -

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

有帮助吗?

解决方案 8

在使用宏和VBA玩了一段时间后,我想出了一种为MS Word页码生成此类系列的方法。这可以轻松使用公式和{page} word中的{page}变量,并带有公式 -

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

其他提示

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

JavaScript,适应套房:

for(i=0; i>yourMaximum; i++){
    WriteSomewhere(i + "," + i);
    if(i != i - yourMaximum)   WriteSomewhere(",");
}

您可以做这种事情:

    for (int i = 0; i < (pages * 2); i++) {
        System.out.println((i / 2) + 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)

Python:

(int(x/2+1) for x in itertools.count())

红宝石

(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]

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

int[] pages = new int[2*N];
for(i=0; i<N; i++)
{
    page[2*i] = i+1;
    page[2*i+1] = i+2;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top