暑假第九天打卡

英语:

新东方六级一单元单词刷题复习

离散:

暑假第九天打卡_第1张图片

暑假第九天打卡_第2张图片

例12 使用消解算法判断下述公式是否是可满足的:

公式 S = p∧(p∨q)∧(p∨¬q)∧(q∨¬r)∧(q∨r)

解:

S = p∧(p∨q)∧(p∨¬q)∧(q∨¬r)∧(q∨r)      //化为主合取式

循环1:

S0 = Ø

S1 = {p, p∨q, p∨¬q, q∨¬r, q∨r}

S2 = Ø

Res(p∨q, p∨¬q) = p                       //因为循环1中S0一开始是空集,所以先在S1中消解

Res(p∨¬q, q∨¬r) = p∨¬r

Res(p∨¬q, q∨r) = p∨r

Res(q∨¬r, q∨r) = q

S2 = {p∨¬r, p∨r, q}                         //S2取S0和S1的差集(消解结果不在S0和S1)

循环2:

S0 = {p, p∨q, p∨¬q, q∨¬r, q∨r}    //循环2中S0加入循环1中S1消解后结果

S1 = {p∨¬r, p∨r, q}                         //循环2中S1←循环1中S2

S2 = Ø

Res(p∨¬q, q) = p

Res(q∨¬r, p∨r) = p∨q

Res(q∨r, p∨¬r) = p∨q

Res(p∨r, p∨¬r) = p

S2 = Ø

输出“Yes”

自己概括:

循环1是S1自己消解

消解结果不在S1中就加入S2,都在就可以返回Yes

上面如果S2不是空集,就要继续循环

从第二轮循环开始,就要先在S0和S1之间消解,再S1自己消解

每次消解如果S2不是空集,下一轮循环的S0是本轮S0加上消解后的S1,下一轮的S1是本轮的S2

注:

只要有一个消解结果是“常数”就可以返回No

找可消解式以字典顺序一个一个找

Java

随机产生3个1-6的整数,如果三个数相等,那么称为“豹子”,如果三个数之和大于9,称为“大”,如果三个数之和小于等于9,称为“小”,用户从键盘输入押的是“豹子”、“大”、“小”,并判断是否猜对了

提示:随机数  Math.random()产生 [0,1)范围内的小数

     如何获取[a,b]范围内的随机整数呢?(int)(Math.random() * (b - a + 1)) + a

import java.util.Scanner;

class Exercise5 {

    public static void main(String agrs[]) {

        Scanner input = new Scanner(System.in);

        System.out.print("请押宝(豹子,大,小): ");

        String guess = input.next();

        System.out.println("输入是" + ":" + guess);

        input.close();

        int a = (int)(Math.random() * (6) + 1);

        int b = (int)(Math.random() * (6) + 1);

        int c = (int)(Math.random() * (6) + 1);

        boolean ret = false;

        switch(guess) {

            case "豹子":

                ret = (a == b && b == c);

                break;

            case "大":

                ret = (a + b + c > 9);

                break;

            case "小":

                ret = (a + b + c < 9);

                break;

            default :

                System.out.println("输入不正确");

                break;

        }

       

        System.out.println("a, b, c分别是" + a + "," + b + "," + c);

        if(ret) {

            System.out.println("猜对了");

        }

        else {

            System.out.println("猜错了");

        }

    }

}

算法

CSDN

你可能感兴趣的:(打卡,离散)