当前位置:
文档之家› 利用高中学的组合数C++编程输出杨辉三角
利用高中学的组合数C++编程输出杨辉三角
{
y=c(i,j);
cout<<" "<<y;
}
cout<<"\n";//*杨辉三角每行自动回车换行。
}
return 0;
}
输出样例如下图:
return 1;
else
/*return a*x(a-1);*/
{
for(i=1;i<=a;i++)
k=k*i;
}
return k;
}
double c(int n,int m) //*杨辉三角中任一项的等于组合数C(n,m)=(n-1)!/((m-1)!*(n-m)!)
{double y;
y=x(n-1)/(x(m-1)*x(n-m));
cin>>n;
}
cout<<"用高中学的组合数编程输出杨辉三角是:\n";
for(i=1;i<=n;i++)//外循环控制杨辉三角行数。
{Hale Waihona Puke for(k=1;k<=(n-i);k++)//*第一个内循环在打印第一个数字前空处几个空格,空格的数量是总行数减去当前的行数。
cout<<" ";
for(j=1;j<=i;j++) //*第二个内循环输出杨辉三角每一行中的数。如第一行1个数,第二行2个数,...第五行5个数。
#include<iostream>// *用高中学的组合数编程输出杨辉三角!
using namespace std;
double x(int a)//*自定义了一个求阶乘的函数(可以用常规的阶乘求法,亦可以用递归法求阶乘),以便后面程序使用。
{
int i;
double k=1;
if ( a==0 || a==1)
return y;
}//*以上定义了一个组合数函数
double main(void)//*程序主体为了输出一个杨辉三角图形。
{ int i,j,n,k;
double y;
while (n<=3||n>=20) //*此段程序是提示用户输入要的多少行杨辉三角。
{
cout<<"请输入一个(3~20)正整数即行数:";