不一样的斐波那契

时间: 1ms        内存:128M

描述:

现在有一组斐波那契数列,给你一个整数m和n,你是否能求出 mf1   + mf2 + ……+ mfn 呢?试一试吧

输入:

整数m 与 n(0<m*n<=30)

输出:

运算后的结果

示例输入:

2 5

示例输出:

48

提示:

参考答案(内存最优[1120]):

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int n,m,i,a[35]= {1,1};
    long int sum=0,s[35],j,jg;
    scanf("%d%d",&m,&n);
    for(i=2;i<35;i++)
    {
        a[i]=a[i-1]+a[i-2];
    }
    for(i=0;i<n;i++){
            jg=1;
        for(j=0;j<a[i];j++){
            jg*=m;
        }
    sum+=jg;
    }
    printf("%ld",sum);
    return 0;
}

参考答案(时间最优[1]):

#include <stdio.h>

int main()

{
        int a,b,c,d,m,n,he=0;
        scanf("%d%d",&m,&n);
        int x[n];
        for(a=0;a<2;a++){
                x[a]=1;
        }
        for(c=2;c<n;c++){
                x[c]=x[c-1]+x[c-2];
        }
        for(b=0;b<n;b++){
                int sum=1;
                for(d=0;d<x[b];d++){
                        sum=sum*m;
                }
                he=he+sum;
        }
        printf("%d",he);
        return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。