2041-超级楼梯(斐波那契)/(排列组合)
Posted lhl2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2041-超级楼梯(斐波那契)/(排列组合)相关的知识,希望对你有一定的参考价值。
///1.斐波那契数列
#include<stdio.h> int main() { int a[41]={0,1,1}; int n,m; for(int i=3;i<=40;i++) { a[i]=a[i-1]+a[i-2]; } scanf("%d",&n); while(n--) { scanf("%d",&m); printf("%d ",a[m]); } return 0; }
///2.排列组合
#include<stdio.h> long long g(long long a,long long b){//从a到b的阶乘 long long s=1; while(1) { s*=a; if(a==b) break; a++; } return s; } long long f(long long i,long long j){ return g(j+1,j+i)/g(1,i); } int main() { int n; long long i,j,k; long long m,s=0; scanf("%d",&n); while(n--) { s=0; scanf("%lld",&m); m--; s=1; //i==0时s==1; for(i=1;i<=m/3;i++){ //使 i<=j 方便计算 j=m-2*i; s+=f(i,j); } for(;2*i<=m;i++){ j=m-2*i; s+=f(j,i); } printf("%lld ",s); } return 0; }
以上是关于2041-超级楼梯(斐波那契)/(排列组合)的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第三十八天 | 509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯