xtu oj 1375 Fabonacci
2023-12-17 14:56:25
题目描述
小明非常喜欢Fibonacci数列,数列为?f1=1,f2=2,fn=fn?1+fn?2。 小明想知道对于一个整数n,使得n=fi+fj+fk的组合有多少种? 比如5=1+1+3?或者?5=1+2+2,有2种。注意?1+2+2?和?2+1+2?被认为是同一种。
输入
第一行是一个整数T(1≤T≤1000),表示样例的个数。
每个样例是一个整数n(3≤n≤109)。
输出
依次每行输出一个样例的结果,为一个整数。
样例输入
2 3 5
样例输出
1 2
AC代码
#include<stdio.h>?
#define?N?100000
int?f[N]={};
void?init(){
????f[0]=1,f[1]=1;
????int?i;
????for(i=2;i<45;i++){
????????f[i]=f[i-1]+f[i-2];
????}
}
int?main(){
????int?T;
????scanf("%d",&T);
????init();
????while(T--){
????????int?i,j,k;
????????int?n,cnt=0;
????????scanf("%d",&n);
????????for(i=1;i<45;i++){
????????????for(j=i;j<45;j++){
????????????????for(k=j;k<45;k++){
????????????????????if(f[i]+f[j]+f[k]==n){
????????????????????????cnt++;
????????????????????}
????????????????}
????????????}
????????}
????????printf("%d\n",cnt);
????}
}
文章来源:https://blog.csdn.net/m0_75005390/article/details/135044054
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!