学编程的人肯定接触过“斐波那契数列”和“约瑟夫环”,这里给出两种代码的写法意思不在于体会不同。而是要找到方法。也就是我们所说的数据结构和算法。基础很重要,以此告诫自己莫要追逐PHP华丽的函数。
F(n)=f(n-1)+f(n-2)
F(1)=1
F(2)=1
PHP代码:
<?php
// 斐波那契数列
$arr = array(1,1);
for ($i=2; $i<20; $i++)
{
//printf("i-1 = %s, i-2 = %s, i=%s<br/>",$arr[$i-1],$arr[$i-2],$i);
$arr[$i] = $arr[$i-1] + $arr[$i-2];
}
for ($i=0; $i<count($arr); $i++)
{
if ($arr[$i]%5 == 0)
{
printf('%s<br/>',$arr[$i]);
}
}
?>
C语言:
#include <stdio.h>
int main()
{
long fib[41] = {0,1};
int i;
for(i=2;i<41;i++)fib[i] = fib[i-1]+fib[i-2];
for(i=1;i<41;i++)printf("F%d==%d\n",i,fib[i]);
getch();
return 0;
}