用循环和递归得到兔子数列
/// <summary> /// 循环得到和 /// </summary> /// <param name="num">第几个数</param> /// <returns></returns> private int GetSum_2(int num) { int num_1 = 1;//默认值 int num_2 = 1;//默认值 if (num == 1 || num == 2) { return 1; } int temp; // 1,1,2,3,5,8,13,21,34 // 1,2,3,4,5,6,7 ,8 ,9 for (int i = 2; i < num-1; i++) { // 将第二个数的值赋值给第一个数,把第一个数和第二个数的和赋值给第二个数 temp = num_2; num_2 = num_1 + num_2; num_1 = temp; } return num_1 + num_2;//得到两个数的和 } /// <summary> /// 递归得到和 /// </summary> /// <param name="num">第几个数</param> /// <returns></returns> private int GetSum(int num) { // 1,1,2,3,5,8,13,21,34 // 1,2,3,4,5,6,7 ,8 ,9 if (num == 1) { return 1; } else if (num == 2) { return 1; } else { return GetSum(num - 1) + GetSum(num - 2); } }
上面两个方法就是用循环和递归得到兔子数列的值:
递归很简单就是自己调用自己;
然后循环的思路就是初始的时候给两个变量赋初始值,然后不停的更新它的值。