问题描述
写一个函数,输入n,求斐波那契(Fibonacci)数列第n项。
斐波那契数列定义为:f(n) = f(n-1) + f(n-2) (n>1) ,其中f(0)=0, f(1)=1。
归并排序利于分治法的思想,在待排序序列选取位于中间位置的元素将序列一分为二,然后再对这两部分分别排序,最后将两部分合并,合并后的序列为已排序序列。
分的过程:设序列长度为N,则以(N-1)/2位置的元素为分界线,将队列分为两部分:位置从0到(N-1)/2的元素为一部分、位置从((N-1)/2)+1到N-1的元素为一部分(或者0到((N-1)/2-1)为一部分,(N-1)/2到N-1为一部分)。
合的过程:比较两个队列(两个队列已各自排好序)的队首元素,将小的从该队列中移除并插入到新队列的第一个位置,然后在比较两队列的首元素大小,将小的从该队列移除并将其添加到新队列上次添加的元素的后面,重复上述步骤直到有一个队列为空。最后将不为空的队列剩下所有的元素依次添加到新队列的最后,新队列则为一个已排序的队列。
制作SSL证书前,需要先了解两个概念:证书(certificate)和证书请求(certificate sign rquest)
- 证书是自签名或CA签名过的凭据,用来进行身份认证。
- 证书请求是对签名的请求,需要使用私钥进行签名。
第一步,生成 CA 私钥:
1 | [root@py ssl_test]# openssl genrsa -out ca.key 1024 |