【C语言训练】斐波那契数列

题目链接:http://115.28.203.224/problem.php?cid=1010&pid=12

题目描述

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

输入

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

输出

由N个“斐波纳契数”组成的“斐波纳契数列”。提交时请严格注意格式, 两个斐波那契数之间用空格隔开, 最后一个答案后加回车

样例输入

6

样例输出

1 1 2 3 5 8

代码

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n, num1 = 1, num2 = 1;
 6     cin>>n;
 7     if (n%2 == 0)
 8     {
 9         for (int i = 1; i <= n/2; i++)
10         {
11             if (i == 1)
12                 cout<<num1<<" "<<num2;
13             else
14                 cout<<" "<<num1<<" "<<num2;
15             num1 += num2;
16             num2 += num1;
17         }
18     }
19     else
20     {
21         for (int i = 1; i <= n; i++)
22         {
23             if (i == 1)
24             {
25                 cout<<num1;
26                 num1 += num2;
27             }
28             else if (i % 2 == 1)
29             {
30                 cout<<" "<<num1;
31                 num1 += num2;
32             }
33             else if (i % 2 == 0)
34             {
35                 cout<<" "<<num2;
36                 num2 += num1;
37             }
38         }
39     }
40     return 0;
41 }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
斐波那契数列是一个常见的数列,其定义是从第三项开始,每一项都等于前两项之和。斐波那契数列的前几项依次是0, 1, 1, 2, 3, 5, 8, 13, 21, 34... 在C语言中,我们可以使用循环的方法来实现斐波那契数列。首先,我们需要先开辟一个数组来存储斐波那契数列的值。然后,我们给数组的前两位赋初值为0和1,接下来通过循环计算出剩余的斐波那契数列的值。最后,我们可以通过循环输出数组中的值来得到完整的斐波那契数列。以下是用C语言实现斐波那契数列的代码示例: ```c #include <stdio.h> int main() { int array = 0; // 数组赋初值 array = 1; arrysize = sizeof(array) / sizeof(array = array[i - 1 + array[i - 2]; } for(i = 0; i < arrysize; i++) { // 循环输出斐波那契数列 printf("%d ", array[i]); } return 0; } ``` 从上述代码可以看出,我们使用了循环来计算并输出斐波那契数列的值。通过循环,我们可以避免递归算法中产生的多余计算,提高了效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C语言求Fibonacci斐波那契数列通项问题的解法总结](https://download.csdn.net/download/weixin_38631049/12796835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [C语言输出斐波那契数列](https://blog.csdn.net/cocoszz/article/details/129629596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【C语言斐波那契数列](https://blog.csdn.net/qq_49663134/article/details/126128836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值