max

 投稿者:永野護  投稿日:2014年 3月 1日(土)10時04分34秒
  質問です。a,bを任意の実数としたとき、
max(a,b)=(a+b+|a-b|)/2
min(a,b)=(a+b-|a-b|)/2
が成り立つ。
このことはmax(a,b,c)やmax(a,b,c,d)でもなりたつのでしょうか。
成り立つとすればどのような式になるのでしょうか。
 

Re: max

 投稿者:山中和義  投稿日:2014年 3月 1日(土)12時22分11秒
  > No.3331[元記事へ]

永野護さんへのお返事です。

> このことはmax(a,b,c)やmax(a,b,c,d)でもなりたつのでしょうか。
> 成り立つとすればどのような式になるのでしょうか。

max(a,b)は、トーナメント表で考えると、

 ┌┴┐
 a  b

の1通りと同値です。

max(a,b,c)は、

  ┌┴┐
 ┌┴┐ c
 a  b

  ┌┴┐
 ┌┴┐ b
 a  c

  ┌┴┐
 ┌┴┐ a
 b  c

の3通りと同値です。

max(a,b,c,d)は、15通りと同値です。

参考サイト
  クイズ&パズル


また、2つの数では、
 max(a,b)-min(a,b)=|a-b|
 max(a,b)+min(a,b)=a+b
のように式が確定して、連立方程式が組めればよいのですが、
3つの数では、
差 2(max(a,b,c)-min(a,b,c))=|a-b|+|b-c|+|c-a|
となりますが、
和 max(a,b,c)+min(a,b,c)=a+b, b+c, c+a
は、異なる3つの数のとき、3通りになってしまいます。

したがって、次のような記述になります。


DEF MAX(a,b)=(a+b+ABS(a-b))/2
DEF MIN(a,b)=(a+b-ABS(a-b))/2

LET a=-1
LET b=-3
LET c=2

PRINT MAX(MAX(a,b),c)
PRINT MAX(MAX(a,c),b)
PRINT MAX(MAX(b,c),a)


PRINT ABS(a-b)+ABS(b-c)+ABS(c-a)
PRINT ( MAX(MAX(a,b),c)-MIN(MIN(a,b),c) )*2

END
 

max

 投稿者:永野護  投稿日:2014年 3月 1日(土)14時39分26秒
  山中様の丁寧な回答に感謝します。ありがとうございました。
敬具
 

Re: max

 投稿者:山中和義  投稿日:2014年 3月 2日(日)13時17分5秒
  > No.3331[元記事へ]

永野護さんへのお返事です。

> 質問です。a,bを任意の実数としたとき、
> max(a,b)=(a+b+|a-b|)/2
> min(a,b)=(a+b-|a-b|)/2
> が成り立つ。

maxをminで表すことが可能なんですね。

max(a,b)=a+b -min(a,b)
min(a,b)=a+b -max(a,b)
など



DEF MAX(a,b)=(a+b+ABS(a-b))/2
DEF MIN(a,b)=(a+b-ABS(a-b))/2

LET a=-1
LET b=-3

PRINT a+b -MIN(a,b) !max(a,b)
PRINT a+b -MAX(a,b) !min(a,b)
PRINT


LET c=2

DEF MAX3(a,b,c)=MAX(MAX(a,b),c)
DEF MIN3(a,b,c)=MIN(MIN(a,b),c)
PRINT a+b+c -(MIN(a,b)+MIN(b,c)+MIN(c,a)) +MIN3(a,b,c) !max(a,b,c)
PRINT a+b+c -(MAX(a,b)+MAX(b,c)+MAX(c,a)) +MAX3(a,b,c) !min(a,b,c)
PRINT


LET d=4

DEF MAX4(a,b,c,d)=MAX(MAX(a,b),MAX(c,d))
DEF MIN4(a,b,c,d)=MIN(MIN(a,b),MIN(c,d))
PRINT a+b+c+d -(MIN(a,b)+MIN(a,c)+MIN(a,d)+MIN(b,c)+MIN(b,d)+MIN(c,d)) +(MIN3(a,b,c)+MIN3(a,b,d)+MIN3(a,c,d)+MIN3(b,c,d)) -MIN4(a,b,c,d) !max(a,b,c,d)
PRINT a+b+c+d -(MAX(a,b)+MAX(a,c)+MAX(a,d)+MAX(b,c)+MAX(b,d)+MAX(c,d)) +(MAX3(a,b,c)+MAX3(a,b,d)+MAX3(a,c,d)+MAX3(b,c,d)) -MAX4(a,b,c,d) !min(a,b,c,d)

END

 

Re: max

 投稿者:山中和義  投稿日:2014年 3月 2日(日)13時57分27秒
  > No.3331[元記事へ]

永野護さんへのお返事です。

> 質問です。a,bを任意の実数としたとき、
> max(a,b)=(a+b+|a-b|)/2
> min(a,b)=(a+b-|a-b|)/2
> が成り立つ。
> このことはmax(a,b,c)やmax(a,b,c,d)でもなりたつのでしょうか。
> 成り立つとすればどのような式になるのでしょうか。

次のようになるようです。


LET a=-1
LET b=-3
LET c=2
LET d=4

PRINT ( (a+b+ABS(a-b))/2 + c +ABS((a+b+ABS(a-b))/2 - c) )/2 !max(a,b,c)
PRINT ( (a+b-ABS(a-b))/2 + c -ABS((a+b-ABS(a-b))/2 - c) )/2 !min(a,b,c)

PRINT ( a+b+c+d +ABS(a-b)+ABS(c-d) +ABS(a+b-c-d +ABS(a-b)-ABS(c-d)) )/4 !max(a,b,c,d)
PRINT ( a+b+c+d -ABS(a-b)-ABS(c-d) -ABS(a+b-c-d -ABS(a-b)+ABS(c-d)) )/4 !min(a,b,c,d)

END
 

max

 投稿者:永野護  投稿日:2014年 3月 6日(木)12時17分35秒
  詳しい解説ありがとうございました。
大変助かりました。
 

戻る