質問

ページ番号(ページ)として変数があり、その値は毎回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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top