盒子放球
盒子放球
问题描述:
k个相同的球放入n个不同的盒子。你的任务是计算有多少种不同的放法。
输入:
输入文件中有若干行。每一行上有两个正整数n和k是一组测试数据,(n³1,k³0)。
输入直到文件结束。
输出:
对输入文件中的每组测试数据,在输出文件输出k个球放入n个不同的盒子放法数。
输入样例:
3 4
1 4
输出样例
15
1
#include<iostream> #include<stdio.h> using namespace std; int com(int n,int r) { int i,j,s=1; if(n-r<r)r=n-r; for(i=0,j=1;i<r;i++) { s*=(n-i); while(j<=r&&s%j==0) { s/=j;j++; } } return s; } int main() { int n,k; while(cin>>n>>k) { printf("%d\n",com(n+k-1,k)); } return 0; }
人一我百!人十我万!永不放弃~~~怀着自信的心,去追逐梦想