//
c++实现
#include "stdafx.h"
#include <time.h>
#include<stdlib.h>
#include <vector>
int fibon(int n)
{
if (n <= 2){
return 1;
}
return fibon(n - 1) + fibon(n - 2);
}
int fibonac(int a, int b, int n)
{
printf("%d", n - 1);
printf("%d", n - 2);
if (n > 2)
{
return fibonac(a + b, a, n - 1);
}
return a;
}
void fib(std::vector<int> &Vec )
{
for (int i = 0; i < 10; i++)
{
if (i == 0 || i == 1)
{
Vec.push_back(1);
}
else
{
Vec.push_back(Vec[i - 2] + Vec[i - 1]);
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
clock_t st, en;
double totaltime;
st = clock();
//fibon(10);
std::vector<int > Vec;
fib(Vec);
int k = 0;
for (auto i = Vec.begin(); i != Vec.end(); i++)
{
if (k==5)
{
printf("\n");
k = 0;
}
printf("%d,", *i);
k++;
}
en = clock();
totaltime = st - en;
printf("%.4f", totaltime);
system("pause");
return 0;
}
//PYTHON实现
import matplotlib.pyplot as plt
import matplotlib
from pylab import *
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
lis=[]
j=0
for i in range(100):
if i==0 or i==1:
lis.append(1)
else:
lis.append(lis[i-1]+lis[i-2])
for i in range(2):
k=0
while k !=10:
k+=1
print(lis[j],end=" ")
j +=1
print(" ")
lisx=[]
for i in range(100):
lisx.append(i)
ymajorLocator = MultipleLocator(0.5) #将y轴主刻度标签设置为0.5的倍数
#ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式
#yminorLocator = MultipleLocator(0.1) #将此y轴次刻度标签设置为0.1的倍数
plt.plot(lisx,lis)
plt.show()