用队列编写一个打印 杨辉三角形前n行的c函数。

haokk 2001-08-18 08:21:26
用队列编写一个杨辉三角形前n行的c函数。

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

队列可用链表或者是数组的数据结构都可以。当然不用队列也可以,只要达到同样的目的。欢迎各种不同的答案/


...全文
1058 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
stupid007 2001-08-22
  • 打赏
  • 举报
回复
up
one_add_one 2001-08-21
  • 打赏
  • 举报
回复
都写了两个了,该给分了:)
one_add_one 2001-08-21
  • 打赏
  • 举报
回复
递推方式:
/*TC2.0调试通过*/
#include <stdio.h>
#define N 10
main()
{
long a[N+2],b[N+2],*p=a,*q=b,*t,i,j;
for (i=0;i<=N+1;i++) a[i]=b[i]=0;
printf ("%d\n",a[1]=1);
for (i=2;i<=N+1;i++,printf("\n"),t=p,p=q,q=t)
for (j=1;j<=i;j++)
printf ("%ld ",q[j]=p[j-1]+p[j]);
}
one_add_one 2001-08-20
  • 打赏
  • 举报
回复
这个该简单了:
/*TC2.0调试通过*/
#include <stdio.h>
#define N 10
long c(int m,int n){
int i;
long t=1;
for (i=m-n+1;i<=m;i++) t*=i;
for (i=1;i<=n;i++) t/=i;
return t;
}
main(){
int i,j;
for (i=0;i<=N;i++,printf("\n"))
for (j=0;j<=i;j++)
printf("%ld ",c(i,j));
}
xiaoshitou 2001-08-20
  • 打赏
  • 举报
回复
to张晨:
我写过用递归求出阶乘,然后用函数和杨辉三角的数学公式求出,之后通过调整输出的空格来显示这种杨辉三角的样子
我觉得实在是很烦,很笨,没好意思贴出来,
很想看看用链表怎样做,你先说说思路,我的是最笨的一种方法了
frman 2001-08-19
  • 打赏
  • 举报
回复
呵呵。。这个递推的东西很像我们这一个用生日算缘分的东西:))哈哈~~~:))
haokk 2001-08-19
  • 打赏
  • 举报
回复
谁写点c的来看看啊~~别只顾着说啊
frman 2001-08-18
  • 打赏
  • 举报
回复
呵呵。。。各位大哥不要笑我啊,扬辉三角是什么啊??是不是那个什么多项式的什么系数什么的??嘿嘿。。。不要笑我啊:)
one_add_one 2001-08-18
  • 打赏
  • 举报
回复
方法太多了!

可以用数组保存相邻的两个状态,然后一边递推一边打印。

也可以直接用公式把结果输出来就行了,呵呵!
one_add_one 2001-08-18
  • 打赏
  • 举报
回复
简单!
xiaoshitou 2001-08-18
  • 打赏
  • 举报
回复
以前使用循环打的,不过这样效率不高
也想知道链表怎么打?

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧