Problem B HDU5686 高精度 排列组合
易得知 答案为 对于方程 2x+y=n的每个正整数解的 关于x,y的全排列,这里用到全排列公式
由于答案会很大 ,考虑java高精度
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); BigInteger[] f=new BigInteger[205]; f[0]=BigInteger.valueOf(1); BigInteger tmp; for(int i=1;i<=200;i++) { tmp=BigInteger.valueOf(i); f[i]=f[i-1].multiply(tmp); } int n; BigInteger ans; while(in.hasNext()) { n=in.nextInt(); ans=BigInteger.valueOf(0); for(int x=0;x<=n/2;x++) { //System.out.println(f[x]); ans=ans.add((f[n-x].divide(f[x].multiply(f[n-2*x])))); } System.out.println(ans); } in.close(); } }