1.暴力破解,循环解决
#include<iostream>
using namespace std;
int main() {
int totalNum = 0;
int firstMonth = 2, secondMonth = 0, thirdMonth = 0;
int n = 0;
cin >> n;
for(int i=1; i<n; i++) {
thirdMonth += secondMonth;
int tempFirst = thirdMonth;
secondMonth = firstMonth;
firstMonth = tempFirst;
}
totalNum = firstMonth + secondMonth + thirdMonth;
cout<< "第" << n << "个月有" << totalNum << "只兔子" << endl;
cout<< "1,2,3(>=3)个月个体分别为:" << firstMonth << " " << secondMonth << " " << thirdMonth << endl;
return 0;
}
2.斐波那锲
#include<iostream>
#include<stdio.h>
using namespace std;
int Fei(int n) {
if(n == 1 || n == 2) {
return 2;
} else if (n < 1) {
return 0;
} else {
return Fei(n-1) + Fei(n-2);
}
}
int main() {
int n;
while(scanf("%d", &n) != EOF) {
printf("有%d只兔子\n", Fei(n));
}
return 0;
}