HDU1715 大菲波数 【C版本】

大菲波数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 11137    Accepted Submission(s): 3769

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
#include <stdio.h>
#include <string.h>

char dp[1002][1000];
char buf[1000];

void cal(char str1[], char str2[], char str[])
{
	int len1 = strlen(str1), id = 0;
	int len2 = strlen(str2), i;
	memset(buf, 0, sizeof(buf));
	while(len1 > 0 && len2 > 0)
		buf[id++] = str1[--len1] - '0' + str2[--len2] - '0';
	while(len1 > 0) buf[id++] = str1[--len1] - '0';
	while(len2 > 0) buf[id++] = str2[--len2] - '0';
	for(i = 0; i <= id; ++i)
		if(buf[i] > 9){
			++buf[i+1];
			buf[i] -= 10;
		}
	if(!buf[id]) --id;
	i = 0;
	while(id >= 0) str[i++] = buf[id--] + '0';
	str[i] = '\0';
}

int main()
{
	dp[1][0] = dp[2][0] = '1';
	dp[1][1] = dp[2][1] = '\0';
	int i, n;
	for(i = 3; i <= 1000; ++i)
		cal(dp[i-1], dp[i-2], dp[i]);
	scanf("%d", &n);
	while(n--){
		scanf("%d", &i);
		printf("%s\n", dp[i]);
	}
	return 0;
}

HDU1715 大菲波数 【C版本】,布布扣,bubuko.com

时间: 2024-08-01 16:14:03

HDU1715 大菲波数 【C版本】的相关文章

hdu1715 大菲波数

转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 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行,每行为对应

HDU1715 大菲波数(大数相加)(Java题解)

大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25998    Accepted Submission(s): 9316 Problem Description Fibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3.计算第n项Fibonacci数值. Input 输入第一行为一

大菲波数(Fibonacci)java大数(hdu1715)

大菲波数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11520 Accepted Submission(s): 3911 Problem Description Fibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3.计算第n项Fibonacci数值. Input 输入第一行为一个整数N,接

HDOJ 1715 大菲波数

JAVA大数.... 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10812    Accepted Submission(s): 3653 Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值

hdu 1715 大菲波数

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1715 大菲波数 Description $Fibonacci$数列,定义如下:$f(1)=f(2)=1$$f(n)=f(n-1)+f(n-2) \ \ 3 \leq n$.计算第$n$项$Fibonacci$数值. Input 输入第一行为一个整数$N$,接下来$N$行为整数$Pi(1 \leq P_i \leq 1000)$. Output 输出为$N$行,每行为对应的$f(P_i)$. Samp

大菲波数 【杭电-HDOJ-1715】 附题+具体解释

/* 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11168    Accepted Submission(s): 3782 Problem Description Fibonacci数列.定义例如以下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu

hdu 1715 大菲波数 高精度和运算,水

1.hdu 1715  大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algorithm> #include<cstdio> #define max(a,b) a>b?a:b using nam

HDU 1715 大菲波数(JAVA, 简单题,大数)

题目 //BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数 import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @xqq */ public BigInteger an(BigInteger a, BigInteger b, int n) { if(n == 1) { return a; } for(int i = 2

大菲波数 【杭电-HDOJ-1715】 附题

/* 大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11168    Accepted Submission(s): 3782 Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Input