常见小算法的实现(一)
- 概述
- 最近时间开始空余,所以,就抽时间复习一下算法和数据结构,顺便实现一些小的常用算法.
- 如果大家有更好的实现方法,可以尽情留言.
- Dev-C++ 4.9.9.2
- window XP
(1)计算1/1+1/2+2/3+3/5+5/8......前n项之和。
#include <stdio.h>
- 分析:这是学习C语言必然会遇到的一道题,实现起来并不麻烦,但是还是有一些值得思考的地方
- 算法实现代码:
#include<stdlib.h>// Non-recursive algorithm
double count(int n )
{
double i=1,j=1,temp,k=1;
double sumValue=0.0;
while(k<=n)
{
sumValue+=i/j;
temp=i+j;
i=j;
j=temp;
k++;
}
return sumValue;
}
//Recursive algorithmdouble
void func(int n, double a,double b)
{
if(n==1)
return a/b;
else
return a/b+func(n-1,b,a+b);
}
int main(void)
{
double count1;
// count1=count(2);
count1=func(2,1,1);
printf("Total: %f\n", count1);
system("pause");
return 0;}
posted on 2009-10-08 18:01 Creative Common 阅读(174) 评论(0) 编辑 收藏 举报