HDU 2032 杨辉三角

杨辉三角

Problem Description

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

Input

输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。

Output

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

Sample Input

2 3

Sample Output

1
1 1

1
1 1
1 2 1
#include<stdio.h>
long YH(int n,int m)
{
	long i = 1,j = 1,s1 = 1,s2 = 1;
	if(m == 1)
		return 1;
	else
	{
		m --;
		n --;
		for(j = 1;j <= m;j ++)
		{
			s1 = s1 * (n --);
			s2 *= j;
			if(s1%s2 == 0)        //尽可能尽早的减小s1,s2,否则后期会溢出
			{
				s1 /= s2;
				s2 = 1;
			}
		}
		return s1/s2;
	}
}
int main(void)
{
	long int n;
	while(scanf("%d",&n)!=EOF)
	{
		int i,j;
		for(i = 1;i <= n;i ++)
		{
			for(j = 1;j <= i;j ++)
			{
				if(j == 1)
					printf("%ld",YH(i,j));
				else
					printf(" %ld",YH(i,j));
			}
			printf("\n");
		}
		printf("\n");
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 21:15:05

HDU 2032 杨辉三角的相关文章

hdu 2032 杨辉三角 (java)

问题: 本题要求看出杨辉三角的规律,即:a[i][j]=a[i-1][j-1]+a[i-1][j]; 在输出的时候第一列没有输出,原因是j参数设置的是从1开始的,故将其改为0,用if满足j从一开始的需求就可以了. 杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 43154    Accepted Submission(s):

hdoj 2032 杨辉三角

杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 41563    Accepted Submission(s): 17414 Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 Inpu

杭电2032杨辉三角

#include<stdio.h>int yanghui(int m,int n){ int r=0; if(n==1)  return 1; else {  r=yanghui(m,n-1)*(m-n+1)/(n-1);  return r; }}int main(){ int n; while (scanf("%d",&n)==1){ for(int i=1;i<=n;i++) {  for(int j=1;j<=i;j++)  {   if(j&l

&lt;hdu-2032&gt;杨辉三角

这是杭电hdu上杨辉三角的链接:http://acm.hdu.edu.cn/showproblem.php?pid=2032 Problem Description: 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Input: 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数. Output: 对应于每一个输入

HDU 4927 Series 1(高精度+杨辉三角)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4927 解题报告:对于n,结果如下: C(0,n-1) *A[n] - C(1,n-1) * A[n-1] + C(2,n-1) * A[n-2] - C(3,n-1) * A[n-3] ....... C(n-1,n-1) * A[1]; n <= 3000,到了后面二项式会很大,因为要用到高精度的乘法和除法,所以直接用java的大数类写了,简单多了. 1 import java.math.BigI

2014多校第六场 || HDU 4927 Series 1(杨辉三角组合数)

题目链接 题意 : n个数,每操作一次就变成n-1个数,最后变成一个数,输出这个数,操作是指后一个数减前一个数得到的数写下来. 思路 : 找出几个数,算得时候先不要算出来,用式子代替,例如: 1 2 3 4 5 6 (2-1) (3-2) (4-3) (5-4)(6-5) (3-2-2+1)(4-3-3+2)(5-4-4+3)(6-5-5+4) (4-3-3+2-3+2+2-1)(5-4-4+3-4+3+3-2)(6-5-5+4-5+4+4-3) (5-4-4+3-4+3+3-2-4+3+3-2

HDU 6129 Just do it 数学 杨辉三角 递推

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6129 题目描述: 将a序列转化成b序列, b[i] = a[1]^a[2]^a[3]^a[4]^......^a[i] 重复m次, 求b 解题思路: 我开始找的是系数的规律发现他满足杨辉三角, 也就是说我现在给出n 和 m , 然后求最后一项是奇数还是偶数, 然后自己就死推呀, 推了两个多点儿把所有的表都打遍了也没找到规律.....其实是有公式的......: C(x+y-2, y-2) 表示第i

POJ 3146 &amp; HDU 3304 Interesting Yang Yui Triangle(杨辉三角)

题目链接: HDU 3304 :http://acm.hdu.edu.cn/showproblem.php?pid=3304 POJ 3146  :http://poj.org/problem?id=3146 Problem Description Harry is a Junior middle student. He is very interested in the story told by his mathematics teacher about the Yang Hui trian

HDU 5794 A Simple Chess(杨辉三角+容斥原理+Lucas)

题目链接 A Simple Chess 打表发现这其实是一个杨辉三角…… 然后发现很多格子上方案数都是0 对于那写可能可以到达的点(先不考虑障碍点),我们先叫做有效的点 对于那些障碍,如果不在有效点上,则自动忽略 障碍$(A, B)$如果有效,那么就要进行如下操作: 以这个点为一个新的杨辉三角的顶点,算出目标点的坐标$(x, y)$. 目标点的答案减去$C(A, B) * C(x, y)$的值. 但是这样会造成重复计算,原因是障碍之间可能有相互影响的关系. 这个时候就要考虑容斥原理,DFS消除这