1,1,2,2,3,3のシリーズを生成します。
-
30-09-2019 - |
質問
ページ番号(ページ)として変数があり、その値は毎回1つずつ増加しています。 [ページ番号]しかし、今では、この番号を1,1,2,2,3,3にカスタマイズする必要があります。
この種のシリーズを生成するための式を提案できますか?
編集:(回答)
マクロとVBAで遊んだ後、MS Wordページ番号のこのタイプのシリーズを生成する方法を見つけました。これは、式で式と{page}変数で簡単に実行できます。
{=(({PAGE} + MOD({PAGE},2))/2)}
解決 8
マクロと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;
}