1

クロック ボード上で( として ) 2 回与えられintた場合、それらの間の最小距離を計算する必要があります。

ここに画像の説明を入力

例えば ​​-

d(12,1) = 1 //not 11 
d(3,5) = 2 
d(10,10) = 0

そのための最速の方法は何ですか?

4

3 に答える 3

2

abが から1までの場合12:

min(abs(a - b), 12 - abs(a - b))
于 2013-04-06T23:10:04.133 に答える
1

純粋な算術 (ライブラリなし):

int d(int first, int second){
   int temp = first - second;
   temp < 0? temp *=-1 :temp ;

   int distance = temp > 6? 12-temp:temp;

   return distance;
}
于 2013-04-06T23:28:01.930 に答える