2869 7

用SAS宏程序打印杨辉三角 [推广有奖]

  • 0关注
  • 4粉丝

已卖:23份资源

教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
6762 个
通用积分
19.5160
学术水平
18 点
热心指数
24 点
信用等级
15 点
经验
383 点
帖子
1182
精华
0
在线时间
997 小时
注册时间
2013-1-20
最后登录
2024-8-2

楼主
小宝爱波1314 发表于 2013-8-7 15:09:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
sas宏程序打印杨辉三角
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SAS宏程序 杨辉三角 SAS宏 宏程序 程序 杨辉三角

沙发
lyfyb99 在职认证  发表于 2013-8-7 20:26:10
data yhsj1;
array x[7] ;
array m[7] ;
do i=1 to 7;
x1=1; x2=lag(i);
do j=2 to 6;
m[j]+x[j]; x[j+1]=lag(m[j]);
end; output;
end;
proc print;
title 'yhsj';
var x1-x7;
run;

藤椅
南方de梦 发表于 2013-8-7 20:55:37
%MACRO t(_text,_opt);
OPTIONS NOSOURCE NONOTES;
%IF &_opt = n %THEN %LET _opt = new;
DATA _NULL_;
LENGTH _text $5000.;
_text = SYMGET('_text') ;
_text = COMPRESS(_text,"'");
_text = TRANSLATE(_text,"'",&quoterep);
CALL SYMPUT('_text',_text);
RUN;
PROC PRINTTO LOG = """&outpath\&texfile..tex""" &_opt;
RUN;
%PUT &_text;
PROC PRINTTO;RUN;
OPTIONS SOURCE NOTES;
%MEND;

%MACRO pt(n);
%t('\begin{center}');
%DO i=0 %TO %EVAL(&n-1);
%DO j=0 %TO &i;
%t('$%SYSEVALF(%SYSFUNC(FACT(&i))/(%SYSFUNC(FACT(&j))*%SYSFUNC(FACT(&i-&j))))$');
%IF &i=&j %THEN %DO;
%t('\\');
%END;
%END;
%END;
%t('\end{center}');
%MEND;
%pt(15);



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
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1

板凳
lyfyb99 在职认证  发表于 2013-8-7 22:02:28
data test;
do i=1 to 10;
do j=0 to i;
n=fact(i)/(fact(j)*fact(i-j));
output;
end;
end;
run;

data _null_;
set aa(firstobs=2);
if i=1 then  put #i @40 n @;
else put #i @(40-2*i+4*j) n @;
run;

报纸
lyfyb99 在职认证  发表于 2013-8-7 22:19:14
data test;
do i=1 to 10;
do j=0 to i;
n=fact(i)/(fact(j)*fact(i-j));
output;
end;
end;
run;

data _null_;
set aa(firstobs=2);
if i=1 then  put #i @40 n @;
else put #i @(40-2*i+4*j) n @;
run;

地板
小宝爱波1314 发表于 2013-8-8 08:49:37
lyfyb99 发表于 2013-8-7 22:19
data test;
do i=1 to 10;
do j=0 to i;
谢谢啦,我想用的是宏程序打印

7
lyfyb99 在职认证  发表于 2013-8-8 09:35:57
小宝爱波1314 发表于 2013-8-8 08:49
谢谢啦,我想用的是宏程序打印
%macro yanghui(n=);
data _null_;
do i=1 to &n;
do j=0 to i;
n=fact(i)/(fact(j)*fact(i-j));
if i=1 then  put #i @40   n  @;
else put #i @(40-2*i+4*j) n  @;
end;
end;
run;
%mend;

%yanghui(n=10);
已有 1 人评分热心指数 信用等级 收起 理由
小宝爱波1314 + 1 + 1 热心帮助其他会员

总评分: 热心指数 + 1  信用等级 + 1   查看全部评分

8
南方de梦 发表于 2013-8-8 09:40:09
%macro triangle(n);
data _temp;
array num {&n} n1-n&n;
do i = 1 to &n;
do j = 1 to i;
num[j]=comb(i-1,j-1);
end;
output;
end;
drop i j;
run;
proc print; run;
%mend;
%triangle(9);
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
小宝爱波1314 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 07:06