杨辉三角-E_Combinations

package Week1;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
//杨辉三角 DP
public class E_Combinations {
    static int N,M;
    static BigInteger C;
    public static void main(String[] args) throws Exception{
        System.setIn(new FileInputStream("Solution.txt"));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BigInteger[] dp = new BigInteger[110];
        dp[0] = BigInteger.ONE;
        for (int i = 1; i <= 100; i++) {
            dp[i]=dp[i-1].multiply(BigInteger.valueOf(i));//multiply意思就是dp[i-1]乘以i
        }
        while(true) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            N = Integer.parseInt(st.nextToken());
            M = Integer.parseInt(st.nextToken());
            if(N==0 && M==0) {
                break;
            }
            C = dp[N].divide(dp[M]).divide(dp[N-M]);//divide意思前边数除以后边数dp[N]除以dp[M]
            System.out.println(N+" things taken "+M+" at a time is "+C+" exactly.");
        }
    }
    
    
    
    
}

 

posted @ 2021-08-01 18:38  没带壳的蜗牛  阅读(46)  评论(0)    收藏  举报