三个小问题
問(wèn)題1
使用for循環(huán)、while循環(huán)和遞歸寫出3個(gè)函數(shù)來(lái)計(jì)算給定數(shù)列的總和。
問(wèn)題2
編寫一個(gè)交錯(cuò)合并列表元素的函數(shù)。例如:給定的兩個(gè)列表為[a,B,C]和[1,2,3],函數(shù)返回[a,1,B,2,C,3]。
問(wèn)題3
編寫一個(gè)計(jì)算前100位斐波那契數(shù)的函數(shù)。根據(jù)定義,斐波那契序列的前兩位數(shù)字是0和1,隨后的每個(gè)數(shù)字是前兩個(gè)數(shù)字的和。例如,前10位斐波那契數(shù)為:0,1,1,2,3,5,8,13,21,34。
//============================================================================ // Name : fiveproblem.cpp // Author : judyge // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================#include <iostream> #include <algorithm>using namespace std;int sum1(int a[],int len) {int sum=0;for(int i=0;i<len;i++){sum+=a[i];} return sum; }int sum2(int a[],int len) {int sum=0;int i=0;while(i<len){sum+=a[i++];} return sum; }int sum3(int a[],int len) {int n=len;if(n==1)return a[0];return sum3(a,n-1)+a[n-1]; }char* hb(char m[],char n[],int len) {char *a=new char[len*2];for(int i=0;i<len;i++){a[i*2]=m[i];a[2*i-1]=n[i];}return a;}int* fab() { int *a=new int[100]; a[0]=0; a[1]=1; for(int i=2;i<100;i++) a[i]=a[i-1]+a[i-2]; return a; }int main() { int a[10]={1,4,5,7,8,11,78,23,56,11}; cout<<sum1(a,10); cout<<sum2(a,10); cout<<sum3(a,10);return 0; /// char m[3]={'a','B','C'}; char n[3]={'1','2','3'}; char *b=hb(m,n,3); for(int k=0;k<6;k++) {cout<<b[k]; }cout<<fab()[99];}
總結(jié)
- 上一篇: 区间动态规划
- 下一篇: Y分钟学clojure