ACM刷题之HDU————Hat's Fibonacci

Hat's Fibonacci

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2053 Accepted Submission(s): 802
 
Problem Description
A Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1.
F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4)
Your task is to take a number as input, and print that Fibonacci number.
 
Input
Each line will contain an integers. Process to end of file.
 
Output
For each case, output the result in a line.
 
Sample Input
100
 


JAVA 大数大法好!
这题之前一直卡着。原来用高精度来做,但是提交每次都会爆内存。于是就放着没做了。这两天自学了点JAVA,于是又捡起来。
大数的基本操作就不罗列了,下面是ac代码:
import java.math.BigInteger;
import java.util.Scanner;
import java.math.*;
import java.text.*;
public class Main {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner cin=new Scanner(System.in);
		int i;
		BigInteger[] big = new BigInteger[12000];
		big[1] = new BigInteger("1");
		big[2] = new BigInteger("1");
		big[3] = new BigInteger("1");
		big[4] = new BigInteger("1");
		for(i=5;i<11111;i++)
		{
			 big[i] =big[i-1].add(big[i-2]);
			 big[i] = big[i].add(big[i-3]);
			 big[i] = big[i].add(big[i-4]);
		}
		
		while(cin.hasNext())   //等同于!=EOF
		{
			i=cin.nextInt();
			System.out.println(big[i]);
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值