云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 算法设计实验报告一(简单算法设计)

算法设计实验报告一(简单算法设计)

  • 62 次阅读
  • 3 次下载
  • 2025/7/4 1:37:09

实验报告一

课程 C++ 实验名称 简单算法设计 第 1 页 专业 _数学与应用数学_ __ 班级__ 双师一班 学号 105012011056 姓名 陈萌

实验日期:2013 年 3 月 9 日 报告退发 (订正 、 重做)

一、实验目的

1. 理解算法设计与分析的基本概念,理解解决问题的算法设计与实现过程; 2. 掌握简单问题的算法设计与分析,能设计比较高效的算法;

3. 熟悉C/C++语言等的集成开发环境,掌握简单程序设计与实现的能力。 二、实验内容

(一) 相等元素问题

1.问题描述

元素唯一性问题:给出一个整数集合,假定这些整数存储在数组A[1…n]中,确定它们中是否存在两个相等的元素。请设计出一个有效算法来解决这个问题,你的算法的时间复杂性是多少?

2. 具体要求(若在ACM平台上提交程序,必须按此要求)――平台上1767题

输入:输入的第一行是一个正整数m,表示测试例个数。接下来几行是m个测试例的数据,每个测试例的数据由两行组成,其中第一行为一个正整数n (n<=500),表示整数序列的长度,第二行给出整数序列,整数之间用一个空格隔开。

输出:对于每个测试例输出一行,若该组测试例中存在两个相等的元素则输出”Yes”,否则,输出”No”。每个测试例的输出数据用一行表示。

3. 测试数据 输入:3 10

9 71 25 64 38 52 5 31 19 45 16

26 35 17 92 53 24 6 57 21 12 34 2 17 86 75 33 20

15 87 32 7 84 35 26 45 78 96 52 22 37 65 9 43 21 3 33 91 输出:No Yes No

(二) 整数集合分解

1.问题描述

设计算法把一个n个元素的整数集合(n为偶数)分成两个子集S1和S2,使得:每个新的集合中含有n/2个元素,且S1中的所有元素的和与S2中的所有元素的和的差最大。 2. 具体要求(若在ACM平台上提交程序,必须按此要求)――平台上1768题

输入的第一行是一个正整数m,表示测试例个数。接下来几行是m个测试例的数据,每个测试例的数据由两行组成,其中第一行为一个正整数n (n为偶数,且n<=500),表示原整数集合的长度,第二行给出这n个整数序列,整数之间用一个空格隔开。

输出:对于每个测试例输出两行,分别表示新生成的整数集合。其中,第一行是元素和比较小的整数集合,第二行是元素和比较大的整数集合,整数之间用一个空格隔开。两个测

试例的输出数据之间用一个空行隔开,最后一个测试例后无空行

3. 测试数据 输入: 2

22

68 25 34 16 2 37 3 95 76 57 21 13 4 78 29 6 17 39 51 20 43 12 26

28 3 48 59 14 32 47 51 42 61 9 24 52 78 65 2 37 78 51 73 29 7 26 95 37 2 输出:

2 3 4 6 12 13 16 17 20 21 25 29 34 37 39 43 51 57 68 76 78 95

2 2 3 7 9 14 24 26 28 29 32 37 37

42 47 48 51 51 52 59 61 62 65 73 78 95

三、实验步骤

1.程序如下:

#include #define N 500 int main() {

int i,j,m,n,t,k=0; int a[N];

printf(\请输入测试的数的个数:\\n\ scanf(\ for(t=0;t

printf(\请输入序列的长度:\\n\ scanf(\

printf(\请输入序列的数字:\\n\ for(i=0;i

if(k==1) printf(\ else printf(\ }

return 0; }

2. 程序如下:

#include #define N 500 int main() {

int a[N];

int n,k,t,j,i,b,m;

printf(\请输入示例的个数:\\n\ scanf(\ for(b=0;b

printf(\请输入数的个数:\\n\ scanf(\

printf(\请输入该组数:\\n\ for(i=0;i

k=i;

for(j=i+1;ja[j]) k=j; if(i!=k) {

t=a[i]; a[i]=a[k]; a[k]=t; } }

for(i=0;i

printf(\ printf(\ }

return 0; }

四、实验结果与讨论

(一)程序运行结果如下:

(二)程序运行结果如下:

五、总结

本次试验不是很难,感觉程序应多上机练习才会有较大提高,在编程过程中较为马虎,因此希望以后自己注意细节,争取做到高效编程。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验报告一 课程 C++ 实验名称 简单算法设计 第 1 页 专业 _数学与应用数学_ __ 班级__ 双师一班 学号 105012011056 姓名 陈萌 实验日期:2013 年 3 月 9 日 报告退发 (订正 、 重做) 一、实验目的 1. 理解算法设计与分析的基本概念,理解解决问题的算法设计与实现过程; 2. 掌握简单问题的算法设计与分析,能设计比较高效的算法; 3. 熟悉C/C++语言等的集成开发环境,掌握简单程序设计与实现的能力。 二、实验内容 (一) 相等元素问题 1.问题描述 元素唯一性问题:给出一个整数集合,假定这些整

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com