hdu 1261(组合数+java大数)
2012-04-05 21:04
399 查看
设多重集的个数n = n1 + n2 + ... + nk;
则该多重集的排列个数为:n!/(n1!n2!...nk!).
则该多重集的排列个数为:n!/(n1!n2!...nk!).
//组合数+java大数 import java.util.Scanner; import java.math.BigInteger; public class hdu1261 { public static void main(String args[]) { Scanner cin = new Scanner(System.in); BigInteger f1, f2; int []s = new int[26]; int n, sum; n = cin.nextInt(); while (n != 0) { sum = 0; for (int i=0; i<n; ++i) { s[i] = cin.nextInt(); sum += s[i]; } f1 = new BigInteger("1"); for (int i=1; i<=sum; ++i) { f1 = f1.multiply(BigInteger.valueOf(i)); } f2 = new BigInteger("1"); for (int i=0; i<n; ++i) { for (int j=1; j<=s[i]; ++j) { f2 = f2.multiply(BigInteger.valueOf(j)); } } System.out.println(""+f1.divide(f2)); n = cin.nextInt(); } } }
相关文章推荐
- HDU 1261 字串数(大数阶乘 除法 组合 java)
- hdu 4927 java求组合数(大数)
- 字串数_hdu_1261(大数极致).java
- 字串数_hdu_1261(大数极致).java
- hdu 4927 Series 1 组合数+大数+java
- hdu 1002 java 大数相加
- HDU 1042 N! (大数阶乘,紫书上的方法超时!!还是Java大法好!!)
- HDU A + B Problem II(高精度大数相加)(java版)
- 【Java大数】hdu 5429 Geometric Progression
- hdu 1023 Train Problem II 卡特兰数 java大数
- HDU 1023 -- Train Problem II (卡特兰 Java大数)
- 杭电 HDU 1002 A + B Problem II Java 大数的初级用法
- hdu 1102 A + B Problem II (java大数)
- hdu 2054 A == B ? (java大数)
- hdu 1261 排列组合&&大数除法
- hdu 1502 java大数+简单dp(最长公共子序列类似)
- HDU-1042-N!(Java大法好 && HDU大数水题)
- hdu 1002(java大数)
- HDU-4919-数学推导加Java大数
- HDU 1261(全排列,大数乘除)