「A<B and A<C and B≠0 and C≠0」では必要十分条件ではないですよね。
A≠0という条件はいらないのでしょうか?
また、
A<B and A<C が満たすならば B≠0 and C≠0 は不要です。
つまり
「A<B and A<C and A≠0」
でいいと思いますよ。
A≠0という条件はいらないのでしょうか?
また、
A<B and A<C が満たすならば B≠0 and C≠0 は不要です。
つまり
「A<B and A<C and A≠0」
でいいと思いますよ。
それですと「B=0」もしくは「C=0」のときにはその条件に当てはまらないですが、「値が0であるものを除きAが最少である」が成り立ちませんか?
「A<B and A<C and A≠0」
「B=0」のパターン
A≠0でないので 最小で A=1となります。
すると
A<B が 1<0 となり、条件に当てはまりません。
「C=0」のパターンも同様です。
SQLなどの条件の時はNullという特殊な値があるため、
これはこれとして別の処理が必要ですが、今回のようなパターンだと 関係ないですね。
そっかー、わかりました。
もう頭がこんがらがりまくって、わけがわからなくなってました。
どうもご丁寧に説明してくれてありがとうございます。
(b=0 and c=0) or (b=0 and a<c) or (c=0 and a<b) or (a<b and a<c)
あるいは
(b=0 or a<b ) and (c=0 or a<c)
ってのはどうでしょう?
こんばんは。
場合分けが必要なのではないでしょうか?
◆B=C=0のトキ
任意のAが条件を満たす。
◆B=0かつC≠0のトキ
A≦Cが必要十分条件。
◆B≠0かつC=0のトキ
A≦Bが必要十分条件。
◆B≠0かつC≠0のトキ
A≦BかつA≦Cが必要十分条件。
かっこう悪いのですが、これで正解だと思います。
整数なんだから、
10C3*3!=4,320 通り書き並べる、っちゅーのはダメですかねぇ。
「値が0であるものを除き」という条件が臭う。ということは、B=0 or C=0 の時は、Aがどんな値であっても、必要条件も十分条件もなりたたなくなる。よって、B≠0 かつ C≠0 は絶対必要な条件。その上で、Aが最小であるという条件を満たすためには、A<B,A<C なら十分問題を満たす。</p>
よって、(B≠0 , C≠0)かつ(A<B,A<C)で良いのかな?</p>
でも、実際問題としては、書き並べた方が早いですよ。往々の場合。
A,B,C の三つの欄に0~10の整数があり、0以外の数字が記入されている欄のうち
最小の整数が、A の欄である場合に真、そうでない場合に偽とするなら、
(A≠0)and((A<B and A<C and B≠0 and C≠0)or(A<B and B≠0 and C=0)or(A<C and B=0 and C≠0))
ではないかと。
(元の質問では A=0 の場合が曖昧ですので、A=0の場合は偽としました)
ご参考までに、必要十分条件とは、
http://ja.wikipedia.org/wiki/%E5%BF%85%E8%A6%81%E5%8D%81%E5%88%8...
(B=0 or A<B ) and (C=0 or A<C )
でしょう。
B=0ならA<Bは不問だし、C=0ならA<Cは不問。
つまりB,Cが0なら、Aとの比較は不要で Aが最小。
B,Cが0以外なら、Aとの比較を行って判断。
どちらにしろ and の両側が成立していれば Aが最小。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ![]() |
1314回 | 1219回 | 393回 | 2006-09-20 16:53:57 |
うーん、たぶん僕の質問がおかしいんだと思うのですが、それですと「B=0」もしくは「C=0」のときにはその条件に当てはまらないですが、「値が0であるものを除きAが最少である」が成り立ちませんか?