前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【优秀题解】问题 1113: C语言考试练习题_保留字母

【优秀题解】问题 1113: C语言考试练习题_保留字母

作者头像
编程范 源代码公司
发布2018-12-10 15:38:04
6840
发布2018-12-10 15:38:04
举报

题目描述

斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。

输入

一个整数N(N不能大于40)

输出

由N个“斐波纳契数”组成的“斐波纳契数列”。

样例输入

6

样例输出

1 1 2 3 5 8

1 迭代方式

#include <stdio.h>

#include <string.h>

long fibonacci(int n)

{

if (n <= 2)

{

return 1;

}

long result;

long pre_result;

long pre_pre_result;

pre_result = pre_pre_result = 1;

while (n > 2)

{

result = pre_result + pre_pre_result;

pre_pre_result = pre_result;

pre_result = result;

n--;

}

return result;

}

int main()

{

int N;

scanf("%d", &N);

int i;

for (i = 1; i <= N; i++)

{

printf("%ld ", fibonacci(i));

}

return 0;

}

2 递归方式

#include <stdio.h>

#include <string.h>

long fibonacci(int n)

{

if (n <= 2)

return 1;

return fibonacci(n - 1) + fibonacci(n - 2);

}

int main()

{

int N;

scanf("%d", &N);

int i;

for (i = 1; i <= N; i++)

{

printf("%ld ", fibonacci(i));

}

return 0;

}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程范 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档