HDU1715 大菲波数【大数】
2017-03-05 07:33
246 查看
大菲波数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21198 Accepted Submission(s): 7163
[align=left]Problem Description[/align]
Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
[align=left]Input[/align]
输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
[align=left]Output[/align]
输出为N行,每行为对应的f(Pi)。
[align=left]Sample Input[/align]
5 1 2 3 4 5
[align=left]Sample Output[/align]
1 1 2 3 5
[align=left]Source[/align]
2007省赛集训队练习赛(2)
问题链接: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; }
相关文章推荐
- 大菲波数(Fibonacci)java大数(hdu1715)
- hdu1715 大菲波数 (java大数)
- 大菲波数(Fibonacci)java大数(hdu1715)
- hdu 1715 大菲波数(大数)
- hdu1715 ( 大菲波数 )
- HDU 1715 大菲波数 (大数问题)
- 【JAVA大数训练】大菲波数
- ACM--HDOJ 1715--大菲波数--大数
- 大菲波数 大数加法模板
- HDOJ 1715 大菲波数 (大数相加)
- HDU 1715-大菲波数(大数)
- hdu1715 大菲波数(高精度)
- HDoj1715大菲波数(大数)
- hdu 1715 大斐波数(大数高精)
- hdoj1715大菲波数(大数+打表,大数斐波那契数列)
- HDU1715 大菲波数 【大数】
- 大菲波数-HDU 1715-大数问题
- HDU 大菲波数(大数复习)
- 大菲波数(hdu1715,大数加法)
- hdu-1715-大菲波数(大数问题)