2016-10-02 2 views
1

3自然数が等しくない(3)のうち2つが等しいかどうか、またはそれらのすべてが等しいかどうかを確認する方法はありますか?スキーム、等しくないintをチェックしますか?

最後の1つは完璧な意味がありますが、最初の2つのために混乱しています。 3のうちの2つが等しいかどうかを確認するにはどうすればよいですか?

は私が

not (= (struct-num1) (struct-num2) (struct-num3))を使用する機能(define-struct (func1 num1))

があったが、2または3が等しい場合にはtrueを返します。

+0

'(a!= b)と(a!= c)と(b!= c)の3つの数字がすべて異なっているかどうかを確認する簡単な方法は、 '。 3つすべてが同じであることを確認します(たとえば4 4 4)。両方の検査が偽を返す場合、正確に2つが等しくなければならない(例えば、3 6 3)。 – tom

+0

@tomあなたは答えとしてあなたのコメントを書く必要があります。 –

+0

@LoïcFaure-Lacroix:良い点、完了。 – tom

答えて

1

3つの数字は、すべての(例えば3 6 4)異なっているかどうかを確認する簡単な方法は、各ペアが異なることを確認することです。

(and (not (= a b)) (not (= a c)) (not (= b c))) 

は、3つのすべてが(例えば4 4 4)同一であることを確認しますできます。

両方の検査でfalseが返された場合、正確に2つが等しくなければなりません(例:3 6 3)。

関連する問題