- 2
- 0
- 约2.77千字
- 约 6页
- 2023-01-17 发布于上海
- 举报
1.16
void print_descending(int x,int y,int z)//按从大到小顺序输出三个数
{
scanf(%d,%d,%d,x,y,z);
if(xy) x-y; //-为表示交换的双目运算符,以下同
if(yz) y-z;
if(xy) x-y; //冒泡排序
printf(%d %d %d,x,y,z);
}//print_descending
1.17
Status fib(int k,int m,int f)//求k阶斐波那契序列的第m项的值f
{
int tempd;
if(k2||m0) return ERROR;
if(mk-1) f=0;
else if (m k-1) f=1;
else
{
for(i=0;i=k-2;i++) temp=0;
temp[k-1]=1; //初始化
for(i=k;i=m;i++) //求出序列第k至第m个元素的值
{
sum=0;
for(j=i-k;ji;j++) sum+=temp[j];
temp=sum;
}
f=temp[m];
}
return OK;
}//fib
分析:通过保存已经计算出来的结果,此方法的时间复杂度仅为O(m^2).如果采用递归编程(大多数人都会首
先想到递归方法),则时间复杂度将高达O(k^m).
原创力文档

文档评论(0)