受到“未名湖的烦恼“问题的打击,又刚好在混乱的文件库里翻到某大神好久以前发给我的《常见算法》PDF,打开看了一下,真的很适合我这个阶段学习(拜谢大佬),经过N天的苦读(+狂热的玩游戏),终于大致看完了!
于是....我又来水题了...
希望这次不要被虐的太惨.....
算法训练 6-1 递归求二项式系数值
时间限制:10.0s 内存限制:256.0MB
问题描述
样例输入
一个满足题目要求的输入范例。
3 10
3 10
样例输出
与上面的样例输入对应的输出。
数据规模和约定
输入数据中每一个数的范围。
例:结果在int表示时不会溢出。
例:结果在int表示时不会溢出。
#include <stdio.h>
int diGui(int k,int n){
if(k>n/2) k=n-k;
if(k==0||n==1) return 1;
else return diGui(k,n-1)+diGui(k-1,n-1);
}
int main() {
int k,n;
scanf("%d%d",&k,&n);
printf("%d",diGui(k,n));
return 0;
}
需要在意的是if(k>n/2) k=n-k;这点
不理解的话就翻下数学书好啦~