首页 > 代码库 > hdu1023:卡特兰数
hdu1023:卡特兰数
火车进站问题
卡特兰数引入的例子。
卡特兰数递推公式:h(n)=h(n-1)*(4*n-2)/(n+1)
通项公式:h(n)=c(2n,n)/(n+1)...
这题需要高精度,刚好学了一下java。。。第一次写的java好丑啊,还好1y了。。
import java.math.*;import java.util.*;public class Main { public static BigInteger BI(int x) { return BigInteger.valueOf(x); } public static BigInteger solve(BigInteger n) { BigInteger res; if(n.compareTo(BI(1))==0) res=BI(1); else { res=solve(n.add(BI(-1))); res=res.multiply(n.multiply(BI(4)).add(BI(-2))); res=res.divide(n.add(BI(1))); } return res; } public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { BigInteger a=in.nextBigInteger(); System.out.println(solve(a)); } }}
hdu1023:卡特兰数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。