HDOJ/HDU 5686 Problem B(斐波拉契+大数~)
Problem Description Input 1≤N≤200 Output Sample Input Sample Output Hint 貌似和前面这个题有点类似: 分析:递推加大数~ 递推公式为db[i] = db[i-1] + db[i-2],斐波那契数列。 设有n个1,可以构成f(n)种。则加一个1的时候,前面n种仍然成立 f(n+1)=f(n)+*; 大数~用Java很好过的~c的话,只能用数组模拟了。 import java.math.BigInteger; import java.util.Scanner; public class Main{ static BigInteger db[] = new BigInteger[205]; public static void main(String[] args) { dabiao(); Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n =sc.nextInt(); System.out.println(db[n]); } } private static void dabiao() { db[1]=new BigInteger("1"); db[2]=new BigInteger("2"); for(int i=3;i<db.length;i++){ db[i]=db[i-1].add(db[i-2]); } } } (编辑:52站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |