栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

杨辉三角(C语言的实现)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

杨辉三角(C语言的实现)


可以看上图先了解一下杨辉三角是什么样子,我这里呢是利用了,它的排列组合的性质:第n行的第m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。因为用了阶乘所以输入行数不要超过20。

代码的实现:

#include 
//阶乘
long int factorial(int a){
long int p=1;
	for(int i = 1;i <= a;i++){
		p *= i; 
	}
	return p;
}
//组合C(n,m),n为下标,m为上标
int Cn(int n,int m){
	if(m == 1){
		return 1;
	}
	else{
		return factorial(n-1)/(factorial(m-1)*factorial(n-m));
	}
}
//杨辉三角
int main(){
	int n;
	printf("输入行数:");
	
	scanf("%d",&n);
	for(int i = 1;i <= n;i++){
		for(int j = 0;j < n-i;j++){
			printf("   ");
		}
		for(int k = 0;k < i;k++){
			printf("%6d",Cn(i,k+1));
		}
		putchar('n');
	}
	return 0;
}

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1029223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号