用C语言(不是C++)求解Fibonacci数列的第110项、第200项的值。

用C语言(不是C++)求解Fibonacci数列的第110项、第200项的值。


#include<stdio.h>
#define F1 300
#define F2 1000
int main()
{
    int F[F1][F2]={0};
    int k;
    scanf("%d",&k);
    F[0][F2-1]=0;
    F[1][F2-1]=1;
    for(int d=2;d<k;d++)
    {
        for(int i=F2-1;i>=0;i--)
           {
              F[d][i]=F[d-1][i]+F[d-2][i];
            }
        int r=F2-1;
        while(r>=0){
            if(F[d][r]>=10)
            {
                F[d][r-1]+=1;
                F[d][r]=F[d][r]-10;
            }
            r--;
            }
    }
    int j=0;
    while(j<F2)
    {
        if(F[k-1][j]!=0)
        {
            while(j<F2)
            {
                printf("%d",F[k-1][j]);
                j++;
            }
        }
    j++;
    }
     return 0;
}

img

仅供参考:

#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char a1[MAXLEN];
char a2[MAXLEN];
static int v1[MAXLEN];
static int v2[MAXLEN];
static int v3[MAXLEN];
int i,j,n,L,z;
void main(void) {
    scanf("%d",&n);
    for (j=0;j<n;j++) {
        scanf("%s%s",a1,a2);

        L=strlen(a1);
        for (i=0;i<L;i++) v1[i]=a1[L-1-i]-'0';

        L=strlen(a2);
        for (i=0;i<L;i++) v2[i]=a2[L-1-i]-'0';

        for (i=0;i<MAXLEN;i++) v3[i]=v1[i]+v2[i];

        for (i=0;i<MAXLEN;i++) {
            if (v3[i]>=10) {
                v3[i+1]+=v3[i]/10;
                v3[i]=v3[i]%10;
            }
        }

        printf("Case %d:\n", j+1);
        printf("%s + %s = ", a1, a2);

        z=0;
        for (i=MAXLEN-1;i>=0;i--) {
            if (z==0) {
                if (v3[i]!=0) {
                    printf("%d",v3[i]);
                    z=1;
                }
            } else {
                printf("%d",v3[i]);
            }
        }
        if (z==0) printf("0");

        printf("\n");
    }
}
//Sample Input
//3
//0 0
//1 2
//112233445566778899 998877665544332211
//
//Sample Output
//Case 1:
//0 + 0 = 0
//Case 2:
//1 + 2 = 3
//Case 3:
//112233445566778899 + 998877665544332211 = 1111111111111111110


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632