求数列 1 1 2 3 5 8 13 21…的前30个数

用for循环语句输出斐波那契数列的前三十个数…………………………………………


/*
求数列 1 1 2 3 5 8 13 21…的前30个数
*/
#include<stdio.h>
int main()
{
    int a = 1, b = 1,c = 0;
    for (int i = 3; i <= 30; i++)
    {
        c = b; //用c记录b的值
        b = a; //b向后以一个变成a,
        a = a + c; //a变成a和原先的b的和
    }
    printf("%d", a);
    return 0;
}

循环迭代就是了,a[0]=a;a[1]=1;a[n] = a[n-1]+a[n-2]
参考如下:

#include <iostream>
using namespace std;
int main()
{
    int a[30],i;
    a[0]=1;
    a[1]=1;
    cout << "1 1";
    for(i=2;i<30;i++)
    {
        a[i]=a[i-1]+a[i-2];
        cout << " " << a[i];
    }
    return 0;
}