满意答案
xucenying
2019.03.22
采纳率:45% 等级:7
已帮助:811人
离散,让我回忆起了上学的时候,那时候我还年轻。A = ! ( p && q ) && ( p || r || s)
= (!p || !q) && ( p || r || s )
= (!p && p || r || s) && ( !q || p || r || s)
= !q || p || r || s
演算的对吗?下面是Java的实现。使用了按位与来初始化p q r s.import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;
public class Zhidao653626888611846645 {
public static void main(String[] args) {
final List trueSets = new ArrayList<>();
for (int i= 0; i
final boolean[] possibility = enumerarte(i);
final boolean p = possibility[0],
q = possibility[1],
r = possibility[2],
s = possibility[3];
final boolean A = ! ( p && q ) && ( p || r || s);
if (A) {
trueSets.add(possibility);
}
}
trueSets.stream().map(Arrays::toString).forEach(System.out::println);
}
private static boolean[] enumerarte(int i) {
final int bit1 = i & 0x1;
final int bit2 = i & 0x2;
final int bit3 = i & 0x4;
final int bit4 = i & 0x8;
final Function isHigherThanZero = bit -> bit > 0;
return new boolean[] {
isHigherThanZero.apply(bit1),
isHigherThanZero.apply(bit2),
isHigherThanZero.apply(bit3),
isHigherThanZero.apply(bit4) };
}
}
离散忘的差不多了,如果公式写错了,改一下吧。
00分享举报