回 帖 发 新 帖 刷新版面

主题:PASCAL 杨辉三角

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个回复)

沙发

小弟看不懂,sorry
[img]A:\DDC648910896778094D1F9EFC221E38D.JPG.GIF[/img]

板凳

看不懂呀。。。。不过搞比赛的好象喜欢用PASCAL。

3 楼

杨辉三角没有必要这样算,也就是没有必要先算好放在数组里,然后再打印出来,直接边计算边打印就可以了,研究一下C(m,n)和C(m,n-1)之间的关系,就可以知道,它们的商是只跟m,n有关系,而且只要m,n给定的话,这个商也是一个定值,所以利用这一点都直接可以算出来,不必要用到数组

4 楼

用数组算么快亚,直接套公式么多做了很多乘法除法。这就是所谓空间换时间~~

5 楼

你用数组是换不了时间的,要不咱俩写一个拼一下,你得把数字算出来,然后存在数组里,然后再取出来打印,我的直接算出来打印就可以了。空间换时间也要看一下值不值

6 楼

呵呵,杨辉三角而已嘛,不必争得这么厉害嘛,刚入门学的东西啊!

7 楼

呵呵,不过我以前也是用数组写,好像我都忘记杨辉三角还有什么特性。(公式之类的)

8 楼

谁来教教我啊

9 楼

不知道。

我来回复

您尚未登录,请登录后再回复。点此登录或注册