1755:菲波那契数列

简介: 总时间限制: 1000ms 内存限制: 65536kB描述菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1

总时间限制: 1000ms 内存限制: 65536kB
描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数是多少。
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20)
输出
输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小
样例输入
4
5
2
19
1
样例输出
5
1
4181
1

斐波那契数列代码很多人的递归写法如下:

1 long long fun(long long n)
2 {
3     if(n==1||n==2) return 1;
4     else return fun(n-1)+fun(n-2);
5 }

这个没什么太大的问题,只是在多组测试数据的情况下,下面的写法会比较好。

 1 #include <stdio.h>
 2 long long a[50]={0,1,1};
 3 long long fun(long long n)
 4 {
 5     if(a[n]!=0) return a[n];
 6     else if(n==1||n==2) return 1;//其实这一行是可以省略的呵呵 
 7     else
 8     {
 9         a[n]=fun(n-1)+fun(n-2);
10         return a[n]; 
11     }
12 }
13 int main(int argc, char *argv[])
14 {
15     long long T,n;
16     scanf("%lld",&T);
17     while(T)
18     {
19         T--;
20         scanf("%lld",&n);
21         printf("%lld\n",fun(n));
22     }
23     return 0;
24 }

 

相关文章
|
缓存 API 数据安全/隐私保护
构建高效后端API:实践与技巧
【8月更文挑战第3天】在数字化时代的浪潮中,后端API的设计和实现成为了软件开发的重要组成部分。本文深入探讨了如何构建一个高效的后端API,不仅涉及技术层面的实践,还包含了设计哲学和最佳实践的分享。通过具体案例分析,我们将了解如何优化API的性能、提高安全性以及确保良好的用户体验。无论你是初学者还是经验丰富的开发者,这篇文章都将提供有价值的见解和启发。
109 4
阿里云平台
搭建了个TS语言平台的服务器
|
7天前
|
云安全 监控 安全
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1335 8
|
6天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
424 10
|
18天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1232 43

热门文章

最新文章