<center> 离散数学实验报告 </center> <center> 计算机科学与技术系 </center>

目录
第一章 实验概述 3
1.1 实验目的 3
1.2 实验内容 3
1.3 实验环境 3
第二章 实验原理和实现过程 4
2.1 实验原理 4
2.2 实验过程(算法描述) 4
2.2.1 程序整体思路 4
2.2.2 具体算法流程 4
第三章 实验数据及结果分析 5
3.1 实验数据 5
3.2 实验结果 5
3.3 结果分析 5
第四章 实验收获和心得体会 6
4.1 实验收获 6
4.2 心得体会 6
第五章 实验源程序清单 7
5.1 程序代码 7
5.1.1 实验一 7
5.1.1 实验二 7

第一章 实验概述
1.1 实验目的
理解包含排斥原理,掌握用计算机求集合的交、并、差和补运算的方法。。
通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算,培养逻辑思维;通过实验提高学生编写实验报告、总结实验结果的能力,提高理论联系实际的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。通过实验报告的编写,掌握目录、页码等文档编辑技巧。
1.2 实验内容
(1)求1到1000之间(包含1和1000在内)既不能被 5 和6 整除,也不能被 8 整除的数有多少个?
(2) 求1到1000之间(包含1和1000在内)能被 5整除,或能被6 整除,或能被 8 整除的数有多少个?
基本要求:程序需具有基本的容错控制,在输入错误时有处理手段;程序界面友好,需要输入的地方有输入说明,说明输入的内容和格式要求等;实验原理和实现过程应该详细分析问题,给出解决思路,描述算法思想,不能用源程序代替算法;测试数据应全面,包括非法输入的处理结果等都应包含在内;程序代码关键部分要加注释。实验报告文档要求有目录格式,封面不编页码,目录和正文单独编页码。
1.3 实验环境
C或C++语言编程环境实现。

第二章 实验原理和实现过程
2.1 实验原理
枚举
2.2 实验过程(算法描述)
2.2.1 程序整体思路
枚举区间、逐一判断
2.2.2 具体算法流程
1、输入数据
2、循环
3、判断
4、判断循环条件,为真返回步骤2,为假继续
5、输出
6、结束程序

第三章 实验数据及结果分析
3.1 实验数据
1 1000
3.2 实验结果

3.3 结果分析
根据实验结果可知两个集合的交集为空,并集为全集。

第四章 实验收获和心得体会
4.1 实验收获
掌握计算机科学技术常用的离散数学中的概念、性质和运算,培养逻辑思维;
通过实验提高编写实验报告、总结实验结果的能力,提高理论联系实际的能力;
具备程序设计的思想,能够独立完成简单的算法设计和分析。
4.2 心得体会

第五章 实验源程序清单
5.1 程序代码
5.1.1 实验一

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int cnt=0;
    for(int i=1;i<=1000;i++){
        if(i%5!=0&&i%6!=0&&i%8!=0){
            cout<<i<<endl;
            cnt++;
        }
    }
    cout<<"一共"<<cnt<<"个"<<endl;
    return 0;
}

5.1.1 实验二

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int cnt=0;
    for(int i=1;i<=1000;i++){
        if(i%5==0||i%6==0||i%8==0){
            cout<<i<<endl;
            cnt++;
        }
    }
    cout<<"一共"<<cnt<<"个"<<endl;
    return 0;
}