题解 | #牛牛学数列5#
牛牛学数列5
https://ac.nowcoder.com/acm/problem/22160
打表
Generator:
#include<stdio.h>
int f[47]={0,1,1,2,3,5};
int main(){
	printf("f[47]={0,1,1,2,3,5,");
    for(int i=6;i<=45;i++) f[i]=f[i-1]+f[i-2],printf("%d,",f[i]);
    printf("%d};",f[45]+f[44]);
}
Output:
f[47]={0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903};
Answer:
#include<stdio.h>
int n,f[47]={0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903};
int main(){
  scanf("%d",&n);
  printf("%d",f[n]);
}
一般递推
#include<stdio.h>
int n,f[47]={0,1,1,2,3,5};
int main(){
    scanf("%d",&n);
    for(int i=6;i<=n;i++) f[i]=f[i-1]+f[i-2];
    printf("%d",f[n]);
}
题解 文章被收录于专栏
 https://ayx.moefox.tech/


vivo公司氛围 351人发布