主题:PASCAL 杨辉三角
月影圣骑 [专家分:0] 发布于 2005-08-18 22:17:00
program cc
var yh:array[1..10,1..10]of integer;
i,j:integer;
begin
yh[1,1]:=1;
for i:=2 to 10 do
begin
yh[i,1]:=1;yh[i,i]:=1;
for j:=2 to i-1 do
yh[i.j]:=yh[i-1,j-1]+yh[i-1,j];
end;
writeln('yang hui:');
for i:=1 to 10 do
begin
write('':40-3*i);
for j:=1 to i do write(yh[i,j]:6);
writeln;
end;
end.
HOHO 刚才看到有朋友问忍不住写了出来.小弟是菜鸟.希望大家没事到我论坛坐坐
http://www.vrcool.cn/bbs
回复列表 (共9个回复)
沙发
天水 [专家分:320] 发布于 2005-08-21 22:17:00
小弟看不懂,sorry
[img]A:\DDC648910896778094D1F9EFC221E38D.JPG.GIF[/img]
板凳
killercat [专家分:1330] 发布于 2005-08-24 12:09:00
看不懂呀。。。。不过搞比赛的好象喜欢用PASCAL。
3 楼
louisdeng [专家分:110] 发布于 2005-08-28 21:10:00
杨辉三角没有必要这样算,也就是没有必要先算好放在数组里,然后再打印出来,直接边计算边打印就可以了,研究一下C(m,n)和C(m,n-1)之间的关系,就可以知道,它们的商是只跟m,n有关系,而且只要m,n给定的话,这个商也是一个定值,所以利用这一点都直接可以算出来,不必要用到数组
4 楼
FancyMouse [专家分:13680] 发布于 2005-08-29 02:19:00
用数组算么快亚,直接套公式么多做了很多乘法除法。这就是所谓空间换时间~~
5 楼
louisdeng [专家分:110] 发布于 2005-08-29 15:34:00
你用数组是换不了时间的,要不咱俩写一个拼一下,你得把数字算出来,然后存在数组里,然后再取出来打印,我的直接算出来打印就可以了。空间换时间也要看一下值不值
6 楼
sunnyfish [专家分:250] 发布于 2005-09-04 13:02:00
呵呵,杨辉三角而已嘛,不必争得这么厉害嘛,刚入门学的东西啊!
7 楼
xiangyu138 [专家分:1870] 发布于 2005-09-08 22:13:00
呵呵,不过我以前也是用数组写,好像我都忘记杨辉三角还有什么特性。(公式之类的)
8 楼
shaoqian [专家分:0] 发布于 2005-09-09 17:50:00
谁来教教我啊
9 楼
大便 [专家分:0] 发布于 2005-12-07 14:57:00
不知道。
我来回复