C++打印杨辉三角

杨辉三角规律:

第i行有i个数,第i行第j列的数Num(i,j)=((i-1)!/((j-1)!*(i-j)!)),阶乘采用递归算法实现,代码如下(这里只能完整打印前12行):

#include "iostream"
#include "string"
#include "iomanip"
using namespace std;
int factory(int n)
{
	if(n==1 || n==0) return 1;
	else return n*factory(n-1);
}
int main()
{
	int m;
	cout<<"输入行数(小于14):  ";
	while(cin>>m && m<=13){
		cout<<endl;
		for(int i=1;i<=m;i++){
			for(int j=1;j<=i;j++)
			{
				cout<<setw(10)<<(factory(i-1)/(factory(j-1)*factory(i-j)));
			}
			cout<<endl;
		}
		cout<<"请输入(小于14): "<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38960682/article/details/80232234