全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7501 5
2015-05-25
求高手指教,我想用任意四个数计算24,加减乘除号和括号都可以用,如果能计算出24,输出表达式。SAS程序改怎么写??

二维码

扫码加我 拉你入群

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

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

全部回复
2015-5-25 18:07:06
看看这个符不符合:
data data1;
do i=1 to 70;
a=ranbin(1212,24,0.25);
b=ranbin(1212,24,0.25);
c=ranbin(1212,24,0.25);
d=24-a-b-c;
output;
end;
keep a b c d;
run;
二维码

扫码加我 拉你入群

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

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

2015-5-25 18:19:33
这个问题,我们研究过,可以参考:
https://bbs.pinggu.org/thread-2857321-2-1.html
二维码

扫码加我 拉你入群

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

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

2015-5-27 14:24:34
mcc812643 发表于 2015-5-25 18:07
看看这个符不符合:
data data1;
do i=1 to 70;
你的这个只是四个数的和等于24,我是想加减乘除都可以用来计算,只要能算出24就可以。不过还是非常感谢。
二维码

扫码加我 拉你入群

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

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

2015-5-27 14:25:17
zhengbo8 发表于 2015-5-25 18:19
这个问题,我们研究过,可以参考:
https://bbs.pinggu.org/thread-2857321-2-1.html
恩恩,就是想要这种结果,非常感谢。
二维码

扫码加我 拉你入群

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

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

2015-5-29 21:59:58
zhengbo8 发表于 2015-5-25 18:19
这个问题,我们研究过,可以参考:
https://bbs.pinggu.org/thread-2857321-2-1.html
您好,我还有一个问题想请教一下。我随机生成一个数据集之后。按照邓贵大的那个方法跑不出来是为什么呢?程序如下;
data _null_;
        array op[4] $1. _temporary_ ('+','-','*','/');
        do i=1 to 4;
        do j=1 to 4;
        do k=1 to 4;
                slno = i-1 + 4*(j-1) + 16*(k-1);
                call symputx('A' || cats(slno), '(a' || op || 'b)' || op[j] || '(c' || op[k] || 'd)');
                call symputx('AA' || cats(slno), 'cats("(", a, "' || op || '", b, ")' || op[j] || '(", c, "' || op[k] || '", d, ")")');
                slno = slno + 64;
                call symputx('A' || cats(slno), '((a' || op || 'b)' || op[j] || 'c)' || op[k] || 'd');
                call symputx('AA' || cats(slno), 'cats("((", a, "' || op || '", b, ")' || op[j] || '", c, ")' || op[k] || '", d)');
                slno = slno + 64;
                call symputx('A' || cats(slno), '(a' || op || '(b' || op[j] || 'c))' || op[k] || 'd');
                call symputx('AA' || cats(slno), 'cats("(", a, "' || op || '(", b, ")' || op[j] || '", c, "))' || op[k] || '", d)');
                slno = slno + 64;
                call symputx('A' || cats(slno), 'a' || op || '((b' || op[j] || 'c)' || op[k] || 'd)');
                call symputx('AA' || cats(slno), 'cats(a, "' || op || '((", b, "' || op[j] || '", c, ")' || op[k] || '", d, ")")');
                slno = slno + 64;
                call symputx('A' || cats(slno), 'a' || op || '(b' || op[j] || '(c' || op[k] || 'd))');
                call symputx('AA' || cats(slno), 'cats(a, "' || op || '(", b, "' || op[j] || '(", c, "' || op[k] || '", d, "))")');
        end;
        end;
        end;
run;


************************随机生成一个数据集***************;
data temp1;
do i=0 to 50;
a=ranbin(1212,24,0.25);
b=ranbin(1212,24,0.25);
c=ranbin(1212,24,0.25);
d=ranbin(1212,24,0.25);
output;
end;
keep a b c d;
run;

%macro doit();
%local i;
data a;
   set temp1;
                solved='N';
                length answer $ 16;
                %do i=0 %to 319;

                        if round(&&A&i, 1e-10) = 24 then do;
                                solved='Y';
                                answer = &&AA&i;
                                output;
               
                        end;
              %end;
                         
                answer= ' ';
              

        stop;
run;
%mend;
%doit;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群