2013-04-26 17 views
5

私はプログラムから得た数とは逆のサーボを持っています。私がプログラムから得た数字は、37 ... 113です。私はその反対側に37を変換する必要があります。したがって、37は113になり、38は112になります。それが中点なので75は75にとどまっています。範囲内の逆番号

あなたはこれを計算する方法を知っていますか?これは簡単な数学のように聞こえるが、私はそれを理解することはできない。範囲が変更される可能性があるため、ルックアップテーブルを使用したくありません。

+1

'150 - num'はあなたが必要とするすべてです。 – Bucket

+0

これらの数値の範囲は配列内にありますか? – harsh

答えて

12
public int reverseNumber(int num, int min, int max) { 
    return (max + min) - num; 
} 

reverseNumber(37, 37, 113); // returns 113 
+0

これは赤ちゃんのように見えます。私はそれが数学になると厚いです! –

1
public int calculate(int min, int max, int input) { 
    return max-(min-input); 
} 
+1

質問はハードコーディングを意味しませんでした。 –

+0

@PradeepPati正確にOPがハードコーディングについて何か言っていましたか? – Pshemo

+0

「範囲は変わるかもしれません」 –

関連する問題