0

この質問が以前に尋ねられた場合は申し訳ありませんが、私がやろうとしていることと一致するものを見つけることができませんでした.

C# (または関連する LINQ 拡張機能) で以下を実行するアルゴリズムを探しています。

数値のセット内の数値 (例: 56 of 1 to 245) とパーティション サイズ (例: ) を除外しない数値10が指定された場合、指定された数値が含まれるパーティションの開始番号を見つけたいと思います。

例: 56 の開始ページを検索します。

1-10
11-20
21-30
31-40
41-50 
51-60 <-- 56 is in the partition starting with 51
..
231-240
241-245
4

2 に答える 2

4
int page = 56;
int partition_size = 10;

int starting_number = (page / partition_size) * partition_size + 1;
于 2013-01-06T20:06:35.677 に答える
1

VB.Net には、DivRem と呼ばれる Math 関数があり、2 つの実数を割って余りを返します。これは基本的に他のソリューションと同じですが、組み込みの数学関数を使用すると視野が広がります。

        Dim startingindex, inputparam, delta As Integer
        delta = 10
        inputparam = 56
        startingindex = inputparam - Math.DivRem(inputparam, delta, startingindex)

結果: startingindex = 51

于 2013-01-06T20:16:15.033 に答える