生成1,1,2,2,3,3系列,

时间:2010-10-14 10:33:04

标签: programming-languages series math

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

您能否建议生成此类系列的公式?

编辑:(答案)

使用宏和VBA一段时间后,我找到了一种为MS字页编号生成此类系列的方法。使用公式和{Page}变量可以很容易地使用公式 -

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

8 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

javascript,适应套件:

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

答案 2 :(得分:1)

你可以做这件事:

    for (int i = 0; i < (pages * 2); i++) {
        System.out.println((i / 2) + 1);
    }

答案 3 :(得分:1)

已经很晚了,但它可能对某人有帮助。

问题的数学答案:

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

1 2 3 4 5 6 7 8 9。 。 。 。 。 。 。 Ñ

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。 。 。 。 。 。 。 Ñ

0 0 1 1 2 2 3 3 4。 。 。 。 。 。 。 F(N)

答案 4 :(得分:0)

的Python:

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

答案 5 :(得分:0)

Ruby

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

答案 6 :(得分: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;
}

答案 7 :(得分:0)

使用宏和VBA一段时间后,我找到了一种为MS字页编号生成此类系列的方法。使用公式和{Page}变量可以很容易地使用公式 -

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