您的位置:首页 > 其它

SDUT 3561 Fibonacci (“浪潮杯”山东省第七届ACM大学生程序设计竞赛)

2017-05-13 10:41 381 查看
http://www.sdutacm.org/onlinejudge2/index.php/Home/Index/problemdetail/pid/3561.html

AC代码:

#include <stdio.h>
long long  num[10000];
long long count[100];
int main (){
num[1]=1;
num[2]=2;
for (int i=3;i<=50;i++){
num[i]=num[i-1]+num[i-2];
}
int n;
scanf ("%d",&n);
while (n--){
long long T;
scanf("%lld",&T);
int k=0;
long long c=T;
for(int i=50;i>=0;i--){
if (num[i]<=T&&T){
count[k++]=num[i];
T=T-num[i];
}
}
if (!T){
printf ("%lld=",c);
for (int i=k-1;i>0;i--){
printf ("%lld+",count[i]);
}
printf ("%lld\n",count[0]);
}
else{
printf ("-1");
}

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SDUT
相关文章推荐