题目六:排列组合,五本书分给三个人,每人一本,至多有多少种不同的分法
题目七:输出杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
.. .. .. .. .. ..
/*
题目六:排列组合,五本书分给三个人,每人一本,至多有多少种不同的分法
分析:这是一道排列组合题,可以使用排列组合公式进行求解,共60种 ,可采用穷举法
题目七:输出杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
.. .. .. .. .. ..
分析: 杨辉三角的第n行的数字等于第n-1行的数字关系很直观
第一行一个数,第二行两个数,整个三角使用递归计算较为方便
可以新设置递归函数
*/
#include<iostream>
using namespace std;
int number(int row,int len){
int num;
if (row == 1||row == len||len == 1)return 1;
num = number(row-1,len-1)+number(row-1,len);
return num;
}
void angle(int num){
int i,j,k;
for(i = 1;i<=num;i++){
for(k = i;k<=num;k++)cout<<" ";
for(j = 1;j<=i;j++){
cout<<number(i,j)<<" ";
}
cout<<endl;
}
}
int main(){
//第六题
/*
//公式解法
int book = -1 ,people = 0;
while(people>book){
cin>>book>>people;
}
int i;
int count = 1;
for(i = book;i>=people;i--){
count *= i;
}
cout<<count<<endl;
//穷举法
int a,b,c,count=0;
for(a=1;a<=5;a++){
for(b=1;b<=5;b++){
for(c=1;c<=5;c++){
if(a!=b&&b!=c&&a!=c){
count++;
}
}
}
}
cout<<count<<endl;
*/
//第七题
int number;
cin>>number;
angle(number);
return 0;
}
这其中有不合适或者不正确的地方欢迎指正,我的QQ号码:2867221444(乔金明),谢谢,也可以相互交流下,备注信息随意,只要能看得出是开发者或者学习者即可。