2つの整数を指定したメソッドは、1000に最も近い値を返します

user3375390

私はこのコーディングの割り当てを与えられました、そしてこれが私が思いついたものです。これを行うためのより良い、より効率的な方法はありますか?

public void GetNumberClosestToValue(int num1, int num2)
{
    int numberToCompareTo = 1000;

    try
    {
        int modNum1 = num1 % numberToCompareTo;
        int modNum2 = num2 % numberToCompareTo;

        int quotientNum1 = num1 / numberToCompareTo;
        int quotientNum2 = num2 / numberToCompareTo;

        if (num1 == num2 || Math.Abs(numberToCompareTo - num1) == Math.Abs(numberToCompareTo - num2))
            Console.WriteLine("Both numbers {0} , {1} are equally closer to {2} ", num1, num2, numberToCompareTo);
        else if (quotientNum1 == quotientNum2)
            Console.WriteLine("Number Closest to {0} is {1}", numberToCompareTo, modNum1 > modNum2 ? num1 : num2);
        else if (Math.Abs(quotientNum1) > Math.Abs(quotientNum2))
            Console.WriteLine("Number Closest to {0} is {1}", numberToCompareTo, num2);
        else
            Console.WriteLine("Number Closest to {0} is {1}", numberToCompareTo, num1);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}
BradleyDotNET

どうですか:

public int GetNumberClosestTo1000(int num1, int num2)
{
    return Math.Abs(1000 - num1) > Math.Abs(1000 - num2) ? num2 : num1;
}

これにより、距離が1000になり(Math.Absこれを使用して数値の絶対値と減算を返し、相対距離を取得します)、3進数を使用して比較の結果を取得し、正しい値を返します。

これはequalsの場合をそれほどうまく処理しないことに注意してください(num1を返します)が、返す値は1つだけです。

メソッドをジェネリックにすることは確かにより良いアプローチでしょう:

public int GetNumberClosestToValue(int num1, int num2, int value)
{
    return Math.Abs(value - num1) > Math.Abs(value - num2) ? num2 : num1;
}

int.MinValueまたはint.MaxValue使用するとオーバーフローが発生し(これを指摘してくれた@ConradFrixに感謝します!)、ここでは処理されません。これらのエッジケースの処理は、前述のエッジケースの機能要件によって異なります。これが製品コードであるかどうかを知っておくべきことです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数で3で除算できる2つの指定された整数(mainで指定)の間の値を返し、回答をmainメソッドに返します

分類Dev

整数のリストから、指定された値に最も近い数値を取得します

分類Dev

整数のリストから、指定された値に最も近い数値を取得します

分類Dev

ソートされた数値インデックスと列を持つDataFrameの場合、渡された指定された値に最も近いインデックス値と列名のタプルを返します

分類Dev

整数nに最も近い2 ^ i値を見つけます

分類Dev

Javascriptは、2つの数値配列とは異なる最も近いものをチェックします

分類Dev

Excel:最も近い一致の行番号を2つの値に返します

分類Dev

指定された値に最も近い配列の値を見つけます

分類Dev

リストとそのインデックス内の指定された値に最も近いアイテムを返します

分類Dev

Rの条件を指定して、別の値に最も近い値の位置を見つけます

分類Dev

2つの整数を除算し、結果を最も近い整数に切り上げます

分類Dev

指定された値に最も近い行を選択します

分類Dev

SharedPreferences getAll()メソッドは、最後に入力した値のみを返しますか?

分類Dev

文字列と整数のタプルから、指定された値にタプル内で最も近い数値を取得します

分類Dev

JavaScript:関数は最も近い値を返します

分類Dev

指定された整数に対して次に近い2の累乗を返します

分類Dev

mxn行列の中心のインデックス。中心が存在しない場合は、最も高い整数を持つ中心に最も近い正方形のインデックスを返します

分類Dev

Rの複数のデータフレームについて、指定された日付に最も近い日付の行を返します

分類Dev

メソッドから2つの値を返そうとしています

分類Dev

パンダは、値のリストを指定して、データフレーム列で最も近い値のインデックスを見つけます

分類Dev

整数値を最も近い整数で丸めに変更します

分類Dev

SQL列を最も近い値に丸めることにより、2つの列に基づいて個別の行を返します

分類Dev

2つのネストされたjqueryメソッドからどのように値を返しますか?

分類Dev

指定された整数に最も近いPythondictの整数キーを見つける

分類Dev

Excelは、指定されたルックアップ値に最も近い大きな値を列で検索します

分類Dev

DB値を最も近い全体の値に統合します

分類Dev

ランダムメソッドは重複せずに2つの値を返します

分類Dev

MySQLは、共通IDを持つ別のテーブルにある日付から、指定された日付に最も近い将来の日付を取得します

分類Dev

Nに最も近い値を持つ配列のインデックスを検索します-Java

Related 関連記事

  1. 1

    関数で3で除算できる2つの指定された整数(mainで指定)の間の値を返し、回答をmainメソッドに返します

  2. 2

    整数のリストから、指定された値に最も近い数値を取得します

  3. 3

    整数のリストから、指定された値に最も近い数値を取得します

  4. 4

    ソートされた数値インデックスと列を持つDataFrameの場合、渡された指定された値に最も近いインデックス値と列名のタプルを返します

  5. 5

    整数nに最も近い2 ^ i値を見つけます

  6. 6

    Javascriptは、2つの数値配列とは異なる最も近いものをチェックします

  7. 7

    Excel:最も近い一致の行番号を2つの値に返します

  8. 8

    指定された値に最も近い配列の値を見つけます

  9. 9

    リストとそのインデックス内の指定された値に最も近いアイテムを返します

  10. 10

    Rの条件を指定して、別の値に最も近い値の位置を見つけます

  11. 11

    2つの整数を除算し、結果を最も近い整数に切り上げます

  12. 12

    指定された値に最も近い行を選択します

  13. 13

    SharedPreferences getAll()メソッドは、最後に入力した値のみを返しますか?

  14. 14

    文字列と整数のタプルから、指定された値にタプル内で最も近い数値を取得します

  15. 15

    JavaScript:関数は最も近い値を返します

  16. 16

    指定された整数に対して次に近い2の累乗を返します

  17. 17

    mxn行列の中心のインデックス。中心が存在しない場合は、最も高い整数を持つ中心に最も近い正方形のインデックスを返します

  18. 18

    Rの複数のデータフレームについて、指定された日付に最も近い日付の行を返します

  19. 19

    メソッドから2つの値を返そうとしています

  20. 20

    パンダは、値のリストを指定して、データフレーム列で最も近い値のインデックスを見つけます

  21. 21

    整数値を最も近い整数で丸めに変更します

  22. 22

    SQL列を最も近い値に丸めることにより、2つの列に基づいて個別の行を返します

  23. 23

    2つのネストされたjqueryメソッドからどのように値を返しますか?

  24. 24

    指定された整数に最も近いPythondictの整数キーを見つける

  25. 25

    Excelは、指定されたルックアップ値に最も近い大きな値を列で検索します

  26. 26

    DB値を最も近い全体の値に統合します

  27. 27

    ランダムメソッドは重複せずに2つの値を返します

  28. 28

    MySQLは、共通IDを持つ別のテーブルにある日付から、指定された日付に最も近い将来の日付を取得します

  29. 29

    Nに最も近い値を持つ配列のインデックスを検索します-Java

ホットタグ

アーカイブ