zoukankan      html  css  js  c++  java
  • [NEUQ-OJ] 1012 SZ斐波拉契数列

    一道水题,让我看清基础我的基础是多么薄弱. 递归,数组清零,数组名/变量名重复层出不穷...路漫漫啊..........

    http://ncc.neuq.edu.cn/oj/problem.php?id=1012

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1012: SZ斐波拉契数列

    时间限制: 1 Sec  内存限制: 2 MB
    提交: 62  解决: 35
    [提交][状态][讨论版]

    题目描述

    你应该很熟悉斐波那契数列,不是吗?现在谷学长不知在哪里搞了个山寨版斐波拉契数列,如下公式:
    F(n)=
    {
       a,                                   n=1
       b,                                   n=2
       F(n-1)+F(n-2),               n>2并且n是奇数
       F(n-1)+F(n-2)+F(n-3),   n>2并且n是偶数
    }
    这里a和b是定值,现给出a,b和n,你的任务是计算F(n)。

    输入

    第一行有一个正整数T(T<=10),表示测试实例的个数。每个测试实例包括三个正整数a,b和n(a<=10,b<=10,n<=30)。

    输出

    对于每个测试实例,输出一行包含一个正整数F(n)。

    样例输入

    2
    1 2 3
    1 3 6

    样例输出

    3
    24

    提示

    来源

    zxp


    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    AC代码:

    #include <stdio.h>
    int a,b,n;
    int fib(int n)
    {
    if(n==1) return a;
    else if(n==2) return b;
    else if(n%2) return fib(n-1)+fib(n-2);
    else return fib(n-1)+fib(n-2)+fib(n-3);
    }
    
    
    int main()
    {
        unsigned t,i;
        int max[30]={0};
        scanf("%d",&t);
        for(i=0;i<t;i++) 
        {
    scanf("%d%d%d",&a,&b,&n);
        max[i]=fib(n);
    }
    for(i=0;i<t;i++)
    {
    printf("%d
    ",max[i]);
    }
    
    
    }






    2013.10.23

  • 相关阅读:
    Java开发系列-电子邮箱
    Java开发系列-文件上传
    iOS开发系列-常见离线存储方式
    Java开发系列-注解
    Java开发系列-JSP
    Java开发系列-Cookie与Session会话技术
    Java开发系列-JDBC
    Java开发系列-MySQL
    Java开发系列-时间转换
    java开发系列-服务器tomcat
  • 原文地址:https://www.cnblogs.com/alfredsun/p/4467261.html
Copyright © 2011-2022 走看看