| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1529 人关注过本帖
标题:关于杨辉三角!
只看楼主 加入收藏
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
结帖率:0
收藏
 问题点数:0 回复次数:24 
关于杨辉三角!
各位兄弟,今天我上课看 了杨辉三角,可是还是没有弄懂啊?各位可否再写一个程序,实现杨辉三角!并且能否说明一下!谢了!
搜索更多相关主题的帖子: 杨辉三角 
2006-07-21 22:22
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
我只会直角三角形的,等腰的不会。等腰的要怎么弄啊?高手过来看看吧!
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
。 。 。 。 。 。
。 。 。 。 。 。
。 。 。 。 。 。

杨辉三角形是(a+b)的n次方展开后各项的系数,
规律:各行第一个数都是1,各行最后一个数也都是1,从第三行起,除上面指出的第一个数和最后一个数外,其余各数是上一行同列和前一个数之和。所以可以表示为:a[i][j]=a[i-1][j]+a[i-1][j-1]

#define N 11
main()
{int i,j,a[N][N];
for(i=1;i<N;i++)
{a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<N;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++)
{for(j=1;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
}

[此贴子已经被作者于2006-7-22 0:56:58编辑过]


人生没有彩排,每天都是现场直播~~~
2006-07-22 00:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
我已经在另一张帖写过了.

倚天照海花无数,流水高山心自知。
2006-07-22 15:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

排列组合数。
第 i行的第j 列就是C(i,j);(j<=i)

#include<stdio.h>
#define N 10
int C(int n,int m)
{
int i,sum=1;
if(n==0||m==0)
return(0);
for(i=0;i<m;i++)
sum=sum*(n-i)/(m-i);
return(sum);
}
int main()
{
int i,j;
for(i=0;i<=N;i++)
{
for(j=i;j<N;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%d ",C(i,j));
printf("\n");
}
return(0);
}

/*大概思想就是这样的*/


倚天照海花无数,流水高山心自知。
2006-07-22 15:27
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
以下是引用nuciewth在2006-7-22 15:27:06的发言:

排列组合数。
第 i行的第j 列就是C(i,j);(j<=i)

#include<stdio.h>
#define N 10
int C(int n,int m)
{
int i,sum=1;
if(n==0||m==0)
return(0);
for(i=0;i<m;i++)
sum=sum*(n-i)/(m-i);
return(sum);
}
int main()
{
int i,j;
for(i=0;i<=N;i++)
{
for(j=i;j<N;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%d ",C(i,j));
printf("\n");
}
return(0);
}

/*大概思想就是这样的*/

输出结果好象不对哦


人生没有彩排,每天都是现场直播~~~
2006-07-22 15:42
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
是什么样子?
我倒没有考虑输出格式
呵呵,不好意思.

倚天照海花无数,流水高山心自知。
2006-07-22 15:45
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
/*不好意思,考虑的不够周详*/
#include<stdio.h>
#define N 5
long C(int n,int m)
{
int i;
long sum=1;
if(n==0||m==0)
return(1);
for(i=0;i<m;i++)
sum=sum*(n-i);
for(i=0;i<m;i++)
sum=sum/(m-i);

return(sum);
}
int main()
{
int i,j;
for(i=0;i<=N;i++)
{
for(j=i;j<N;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%ld ",C(i,j));
printf("\n");
}
return(0);
}

倚天照海花无数,流水高山心自知。
2006-07-22 15:54
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
[IMG]http://v5.86086.com/2006-7-22/gdrhi6ql.jpg[/IMG]

上面的是我的,下面的就是你的运行的结果了,所以数据好象有错哦

人生没有彩排,每天都是现场直播~~~
2006-07-22 15:57
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1

可我运行的明明是这样啊.

倚天照海花无数,流水高山心自知。
2006-07-22 16:09
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
现在对啦,

人生没有彩排,每天都是现场直播~~~
2006-07-22 16:09
快速回复:关于杨辉三角!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057805 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved