网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 301|回复: 0
打印 上一主题 下一主题

【C语言】斐波那契数列2

[复制链接]

711

主题

718

帖子

3204

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3204
跳转到指定楼层
楼主
发表于 2025-3-25 19:44:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
斐波那契数列是指 1、1、2、3、5、8、13、21、34、55、89、144、233、377…… 的一组数字,它的前两个数都是 1,从第三个数开始,每个数都是它前面两个数的和。斐波那契数列在自然界和生活中广泛存在,如植物的叶子排列、贝壳的螺旋线等,它具有很好的数学性质和美学价值,因此在计算机科学中也得到了广泛的应用。

使用递归结构实现斐波那契数列需要定义一个递归函数,该函数接收一个整数作为参数,返回对应的斐波那契数。具体实现如下:
  • #include <stdio.h>
  • int fibonacci(int n);
  • int main() {
  •     int n, i;
  •     printf("Enter the number of terms: ");
  •     scanf("%d", &n);
  •     printf("Fibonacci series:\n");
  •     for (i = 1; i <= n; i++) {
  •         printf("%d ", fibonacci(i));
  •     }
  •     printf("\n");
  •     return 0;
  • }
  • int fibonacci(int n) {
  •     if (n == 1 || n == 2) {
  •         return 1;
  •     }
  •     return fibonacci(n - 1) + fibonacci(n - 2);
  • }


在这个程序中,我们定义了一个递归函数 fibonacci,它接收一个整数 n 作为参数,返回对应的斐波那契数。在函数中,如果 n 的值为 1 或 2,直接返回 1,否则返回前两个数的斐波那契数之和。

在 main 函数中,我们读入要输出的斐波那契数列的项数,然后使用一个循环结构来依次输出每个数的斐波那契数。在循环中,我们调用 fibonacci 函数来计算每个数的斐波那契数,并输出它。最后输出一个换行符。

运行这个程序,输入要输出的斐波那契数列的项数,即可得到相应的结果。例如,输入 10,输出如下:
Enter the number of terms: 10 Fibonacci series: 1 1 2 3 5 8 13 21 34 55

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2025-4-5 03:16 , Processed in 0.032333 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表