- 4
- 0
- 约1.67千字
- 约 6页
- 2021-03-06 发布于天津
- 举报
《算法设计与分析》实验报告
一、 实验内容描述和功能分析
二、 算法过程设计?
三、 程序调试及结果(附截图)
四、 源代码(附源代码)?
一、实验内容描述和功能分析
〔.Optimal Services 内容描述:设有n个顾客同时等待一项服务。顾客i需要的服务时 间为ti ,1 i n。应如何安排n个顾客的服务次序才能使平 均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和 除以n。
编程任务:对于给定的n个顾客需要的服务时间,编程计算最优服务 次序。
功能分析:输入由多组测试数据组成。
每组测试数据输入的第一行是正整数 n,表示有n个顾客。接下来的 1行中,有n个正整数,表示n个顾客需要的服务时间。
对应每组输入,输出的每行是计算出的最小平均等待时间。
例如:输入:10 输出:532.00
56 12 1 99 1000 234 33 55 99 812
2.汽车加油问题
内容描述:一辆汽车加满油后可行驶n公里。旅途中有若干个加油 站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油 次数最少。并证明算法能产生一个最优解。
编程任务:
对于给定的n和k个加油站位置,编程计算最少加油次数。
功能分析:输入由多组测试数据组成。每组测试数据输入的第一行 有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。接下来的1行中,有k+1个整数,表示第k个加油站 与第k-1个加油站之间的距离。第0个加油站表示出发地,汽车已 加满油。第k+1个加油站表示目的地。
对应每组输入,输出的每行是计算出的最少加油次数。 如果无法到达 目的地,则输出” No Solution ”。
例如:输入:7 7 输出:4
1 2 3 4 5 1 6 6
二、算法过程设计
〔.Optimal Services
该问题通过设定一个最大值和两个变量,通过两个变量之间的 对比和相关库函数的调用,来实现问题的解决。
2.汽车加油问题
此问题也设定了一个最大值,还有几个变量,通过条件判断来实 现对问题的解决。
三、程序调试及结果(附截图)
I.Optimal Services
2.汽车加油问题
四、源代码(附源代码)
矩阵连乘问题
#i ncludestdio.h
int main()
{
int n,i;
int j,temp;
double a[10001];
double sum,p;
while(sca nf(%d,n )!=EOF)
{
p=sum=0;
for(i=0;i n ;i++)
sca nf(%lf,a[i]);
for(i=1;i n ;i++)
for(j=0;j n-i;j++)
if(a[j]a[j+1])
{
temp=a[j];
a[j]=a[j+1]; a[j+1]=temp;
}
for(i=0;i n ;i++)
{
sum=sum+p+a[i];
p=p+a[i];
}
prin tf(%.2lf\n,sum/n);
}
return 0;
}
Pebble Merging
#i ncludestdio.h
int main()
{ int n ,i,k;
int j,flag;
int a[10001];
int sum,p;
while(sca nf(%d%d,n,k)==2) {
for(i=0;i=k;i++)
scan f(%d,a[i]);
sum = 0 ;
p = n;
flag = 1;
for (j = 0;jv=k;j++)
{
if (Pa[j])
{
flag = 0; break;
}
P -= a[j];
if (j=k pa[j+1])
{
p = n ; sum ++;
}
}
if (flag==1)
printf (%d\n , sum); else
printf (No Solutio n\n);
}
return 0;
}
原创力文档

文档评论(0)