我有一个变量作为页码(page),其值每次递增一。[页码] 但是,现在我需要将此编号自定义为 1,1,2,2,3,3..
你能建议任何生成这种系列的公式吗?
编辑:(答案)
在玩了一段时间的宏和 VBA 之后,我想出了一种方法来为 MS word 页码生成这种类型的系列。这可以通过公式和单词中的 {Page} 变量轻松完成 -
{=(({PAGE} + MOD({PAGE},2))/2)}
我有一个变量作为页码(page),其值每次递增一。[页码] 但是,现在我需要将此编号自定义为 1,1,2,2,3,3..
你能建议任何生成这种系列的公式吗?
编辑:(答案)
在玩了一段时间的宏和 VBA 之后,我想出了一种方法来为 MS 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;
}
在玩了一段时间的宏和 VBA 之后,我想出了一种方法来为 MS word 页码生成这种类型的系列。这可以通过公式和单词中的 {Page} 变量轻松完成 -
{=(({PAGE} + MOD({PAGE},2))/2)}