• 【hdu 1715 大菲波数(水题、、罪过)】


    大菲波数

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 6572    Accepted Submission(s): 2157


    Problem Description
    Fibonacci数列,定义如下:
    f(1)=f(2)=1
    f(n)=f(n-1)+f(n-2) n>=3。
    计算第n项Fibonacci数值。
     
    Input
    输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
     
    Output
    输出为N行,每行为对应的f(Pi)。
     
    Sample Input
    5 1 2 3 4 5
     
    Sample Output
    1 1 2 3 5
     
    Source
     
    Recommend
    lcy
     
     
     
     
     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 
     5 #define MAXN 1010
     6 
     7 class Number
     8 {
     9 public:
    10     int* a;
    11     int  iTop;
    12     void setSize(int n);
    13     void setValueSum(Number, Number);
    14     void setTopValue();
    15     void showValue();
    16 };
    17 
    18 void Number::setSize(int n)
    19 {
    20     a = new int[n];
    21     for (int i = 0; i < n; i++)
    22     {
    23         a[i] = 0;
    24     }
    25     iTop = n - 1;
    26 }
    27 
    28 void Number::setValueSum(Number num1, Number num2)
    29 {
    30     for (int i = 0; i <= num2.iTop; i++)
    31     {
    32         a[i]  = num2.a[i];
    33     }
    34     for (int i = 0; i <= num1.iTop; i++)
    35     {
    36         a[i] += num1.a[i];
    37     }
    38     for (int i = 0; i <= iTop; i++)
    39     {
    40         a[i+1] += (a[i]/10);
    41         a[i]   %= 10;
    42     }
    43 }
    44 
    45 void Number::setTopValue()
    46 {
    47     while (a[iTop] == 0)
    48     {
    49         iTop--;
    50     }
    51 }
    52 
    53 void Number::showValue()
    54 {
    55     for (int i = iTop; i >= 0; i--)
    56     {
    57         printf("%d", a[i]);
    58     }
    59     printf("\n");
    60 }
    61 
    62 Number iMap[MAXN];
    63 
    64 void iMakeMap()
    65 {
    66     iMap[1].setSize(1);
    67     iMap[1].a[0] = 1;
    68     iMap[2].setSize(1);
    69     iMap[2].a[0] = 1;
    70 
    71     for (int i = 3; i < MAXN; i++)
    72     {
    73         iMap[i].setSize(iMap[i-1].iTop+2);
    74         iMap[i].setValueSum(iMap[i-1], iMap[i-2]);
    75         iMap[i].setTopValue();
    76     }
    77 }
    78 
    79 int main()
    80 {
    81     iMakeMap();
    82     int iT;
    83     scanf("%d", &iT);
    84     while (iT--)
    85     {
    86         int iIndex;
    87         scanf("%d", &iIndex);
    88         iMap[iIndex].showValue();
    89     }
    90     return 0;
    91 }
    92 
    93 // end
    94 // ism
  • 相关阅读:
    Merge Intervals
    Jump Game
    微信小程序----button组件
    微信小程序----日期时间选择器(自定义精确到分秒或时段)(MUI日期时间)
    禁止搜索引擎抓取robots.txt文件设置方法
    [转载]【转】代码的版权声明怎么写
    微信小程序----picker选择器(picker、省市区选择器)(MUI选择器)
    微信小程序----模板(template)
    nginx安全配置
    微信小程序----icon组件
  • 原文地址:https://www.cnblogs.com/ismdeep/p/2621008.html
Copyright © 2020-2023  润新知