1,2,1,3,2,5,3,7,5,11,8,13,13,17 ...打印第N个术语

时间:2018-08-22 16:15:55

标签: c

该系列中的所有奇数项都构成了斐波那契数列,所有偶数项都是升序的质数。

#include<stdio.h>    

int main()
{
    int i,n,k,a[100],next,j, P[151],l1,l2,l;   //variables
    scanf("%d", &n);      // input the number on terms
    a[0]=1;
    a[2]=1;
    /* Calculaate Fibonacci series */
    for(i=4;i<n;i+=2)
        a[i]=a[i-2]+a[i-4];
    for(i=0;i<n;i+=2)
        printf(" %d",a[i]);
    for (i = 2; i <=n; ++i)
        P[i] = 0;
    for (i = 2; i <=n; ++i )
    {
        if (P[i] ==0)
           //printf (" %i", i);
           printf(" %d",i);
        for (j = 1; j*i <= n; j++)
            P[i*j] = 1;
    }
    return 0;
}

我无法打印该系列中显示的条款。如何交替打印字词。

1 个答案:

答案 0 :(得分:0)

您可能会执行以下操作:

void intersperse_print(const int* arr1, const int* arr2, int size)
{
    for (int i = 0; i != size; ++i) {
        printf(" %d %d", arr1[i], arr2[i]);
    }
}

因此,一旦您填充a(带有斐波那契数字)和P(带有素数), 称呼它:

intersperse_print(a, P, 100);