HDU1715 大菲波数

来源:互联网 发布:淘宝袜子好评语50字 编辑:程序博客网 时间:2024/05/21 10:13

问题链接:HDU1715 大菲波数。

问题简述:参见上述链接。

问题分析:大数问题。为了避免重复计算,需要打表。

程序说明:(略)。

AC的C++语言程序如下:

/* HDU1715 大菲波数 */#include <iostream>#include <string>using namespace std;const int MAXN = 1000;string s[MAXN+1];void maketable(int n){    string a, b;    s[1] = "1";    s[2] = "1";    for(int i=3; i<=n; i++) {        a = "00" + s[i-2];        b = "0" + s[i-1];        int val, carry=0;        for(int j=(int)a.length()-1, k=(int)b.length()-1; k>=0; j--, k--) {            val = (a[j] - '0') + (b[k] - '0') + carry;            carry = val / 10;            b[k] = val % 10 + '0';        }        if(b[0] == '0')            b.erase(0, 1);        s[i] = b;    }}int main(){    int n, pi;    maketable(MAXN);    cin >> n;    while(n--) {        cin >> pi;        cout << s[pi] << endl;    }    return 0;}



1 0
原创粉丝点击