当前位置: 亚洲城ca88 > ca88 > 正文

杨辉三角ca88,怎么利用C语言的点子测算

时间:2019-08-30 00:54来源:ca88
HDU 2032 杨辉三角 Problem Description 以直角三角形的方式打印输出杨辉三角,怎么利用C语言的方式计算? Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可

HDU 2032 杨辉三角

Problem Description

以直角三角形的方式打印输出杨辉三角,怎么利用C语言的方式计算?
Problem Description
还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

杨辉三角

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
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(
);
  }
  printf(
);
 }
 return 0;
}

 

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

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
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
对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

Input

Sample Input
2 3

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

Sample Output
1
1 1

 

1
1 1
1 2 1

Output

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

 

Sample Input

2

3

 

Sample Output

1

1 1

 

 

1

1 1

1 2 1

ca88, 

 1 #include <stdio.h>   //本来不会做的,但是编着编着就出来了,么么哒 
 2 
 3 int main(){
 4     int n;
 5     int triangle[31][31];
 6     int i;
 7     int j;
 8     
 9     while((scanf("%d",&n))!=EOF){
10         for(i=0;i<31;i  )
11             for(j=0;j<31;j  )
12                 triangle[i][j]=0;
13         
14         triangle[0][0]=1;
15         triangle[1][0]=1;
16         triangle[1][1]=1;
17                 
18         for(i=2;i<n;i  ){
19             triangle[i][0]=1;
20             triangle[i][i]=1;
21             for(j=1;j<=i;j  ){
22                 triangle[i][j]=triangle[i-1][j] triangle[i-1][j-1];
23             }
24         }
25         
26         for(i=0;i<n;i  ){
27             for(j=0;j<n;j  ){
28                 if(triangle[i][j]!=0){
29                     if(j==0)
30                         printf("%d",triangle[i][j]);
31                         
32                     else
33                         printf(" %d",triangle[i][j]);
34                 }
35             }
36                 
37             printf("n");
38         }
39         
40         printf("n");
41         
42     } 
43     return 0;
44 }

 

 

编辑:ca88 本文来源:杨辉三角ca88,怎么利用C语言的点子测算

关键词: 亚洲城ca88