李怀瑞


私信TA

用户名:2713508392

访问量:2664

签 名:

等  级
排  名 2317
经  验 2273
参赛次数 3
文章发表 9
年  龄 0
在职情况 学生
学  校 lzy
专  业

  自我简介:

解题思路:

1、每个数等于它上方两数之和。

2、每行数字左右对称,由1开始逐渐变大。

3、第n行的数字有n项。

4、第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。

5、第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。

6、每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

7、(a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

8、将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。

9、将第n行的各数值,分别乘以10的列数m-1次方,然后把这些数值相加的和等于11的n-1次方。

图片1.png


 注意事项:


参考代码:

#include<stdio.h>
int c(int x, int y) { 
	int z;
	if (y == 1 || y == x)return 1;
	z = c(x - 1, y - 1) + c(x - 1, y);          //C(n+1,i)=C(n,i)+C(n,i-1)       
	return z;
}
int main() {
	int n;
	scanf("%d", &n);//输入行数
	n += 1;
	for (int i = 1; i <=n; i++) {
		for (int i1 = i; i1 < n; i1++)    //数字前面的空格,倒三角
			printf("   ");
		for (int j = 1; j <= i; j++)
			printf("%3d   ", c(i, j)); //输出数字时保留间隙
		printf("\n");
	}
	return 0;
}


 

0.0分

6 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区