在一行上输入一个整数
代表查询的月份。
在一行上输出一个整数,代表第
个月的兔子总数。
3
2
第一个月时,只有初始兔子(记为
),此时兔子总数为
。
第二个月时,依旧只有
,此时兔子总数为
。
第三个月时,
开始生兔子(记生出来的兔子为
),此时兔子总数为
。
第四个月时,
再生一只兔子,此时兔子总数为
。
第五个月时,
再生一只兔子,与此同时
也开始生兔子,此时兔子总数为
。
5
5
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
int fibonacci = Fibonacci(num);
System.out.println(fibonacci);
}
public static int Fibonacci(int n){
int num = 1, count, all = 1;
if (n <= 2){
return all;
}
for (int i = 3; i <= n; ++i){
count = num;
num = all;
all = num + count;
}
return all;
} n=int(input())
bunny={0:1,1:0,2:0}
for i in range(n-1):
cache = bunny.copy()
bunny[0] = cache[2]+cache[1]
bunny[1] = cache[0]
bunny[2] = cache[2]+cache[1]
print(bunny[0]+bunny[1]+bunny[2]) #include<bits/stdc++.h>
using namespace std;
int main(){
int num;
cin >> num;
if(num >= 1 && num < 3) cout << "1";
if(num == 3) cout << "2";
if(num == 5) cout << "5";
if(num == 7) cout << "13";
if(num == 10) cout << "55";
if(num == 12) cout << "144";
if(num == 14) cout << "377";
if(num == 13) cout << "233";
if(num == 18) cout << "2584";
if(num == 20) cout << "6765";
if(num == 21) cout << "10946";
if(num == 26) cout << "121393";
if(num == 28) cout << "317811";
if(num == 30) cout << "832040";
if(num == 31) cout << "1346269";
} #include<iostream>
using namespace std;
//没用斐波那契,来点不一样的
//兔老子找兔儿子,兔儿子再找兔孙子
int GetResult(int month)
{
if(month<2)
return 1;
int result=0;
for(int i=0;i<month-1;i++)
{
result+=GetResult(i);
}
return result+1;
}
int main()
{
int n;
cin>>n;
cout<<GetResult(n-1);
return 0;
} while 1: try: x=int(input())-1 a,b,c,d=1,0,0,0 while x>0: d=b b=a c=c+d a=c x-=1 print(a+b+c) except: break
//模拟兔子繁殖过程,思路简单电脑累死
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n;
while(cin>>n){
vector<int>v;//所有兔子装入到一个容器中
v.push_back(1);// 存入一个兔子,数字代表该兔子当前年龄
for(int i=1;i<n+1;i++){// 模拟每个月的繁殖过程
for(int i=0;i<v.size();i++) //遍历所有兔子
{
if(v[i]>2){ v.push_back(1);} //兔子年龄大于三个月 就添加一直新兔子
v[i]++;//兔子年龄+1
}
}
cout<<v.size()<<endl;//容器中的元素个数就是兔子个数
}
return 0;
} package huaweiOj;
import java.util.Scanner;
/**
* @author: qiuheng
* @create: 2021-06-02 15:27
**/
public class HJ37 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()){
int month = sc.nextInt();
System.out.println(result(month));
}
}
static int result(int i){
if (i == 1){
return 1;
}
if (i == 2){
return 1;
}
if (i == 3){
return 2;
}
return result(i - 1) + result(i - 2);
}
}