就是数学中的C(n,m),n为下标,m为上标。比如C(5,2)=5*4/2*1;又比如C(10,7)=C(10,3)=10*9*8/3*2*1;
最好效率高一点,代码要简洁。
求一简单的阶乘算法C(n,m)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- huozhedecctv 2011-08-19 12:25关注
天生愚钝,刚写的,看看合理不:
[code="java"]
public static int c(int a,int b){
if(b>a/2){
return c(a,a-b);
}
return up(a,b)/up(b,b);
}public static int up(int a,int b){ int c = 1; for(int i=0;i<b;i++){ c = c*a; a--; } return c; } public static void main(String[] arg){ System.out.println(c(10,2)); }
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报