1. (程序题)
题目编号:Exp06-Basic01,GJBook3-10-02
题目名称:排列组合
问题描述:编写程序求函数C(m,n)的值。
输入:从键盘随机输入一个自然数和一个非负整数,分别作为m和n的值(m≥n)。
输出:函数C(m,n)的值。
样例1:
输入:
4 1
输出:
4
样例2:
输入: 6 2 输出: 15
#include <stdio.h>
int c(int m,int n){
if(n<0){
return 0;
}else if(n==0){
return 1;
}else if(n==1){
return m;
}else if(m<2*n){
return c(m,m-n);
}else{
return c(m-1,n-1)+c(m-1,n);
}
}
int main(){
int n,m;
scanf("%d %d",&m,&n);
printf("%d",c(m,n));
}
2. (程序题)
题目编号 :Exp06-Enhance05,freshman-1022
题目名称:十进制转换任意进制
题目描述:编写程序,用递归方法将十进制的正整数 N 转换为 b 进制数(2≤b≤36),其中字符、ASCII码值和数值之间的对应关系如下:
输入:一行输入两个非负整数,分别是十进制的 N 和 b ,其中 0 <=N <=2^31 ,2 <=b <= 36 。
输出:N 的 b 进制数。
样例1:
输入: 579 8