marloneusa 发表于 2010-8-4 03:57 
13# jingju11 
我认为这个中将概率远低于你的数据。 你的procedure计算的是任意两个(或多个), 但这里好像是爱着。
你敢肯定吗?
- data have;
-     set arr;
-     array c{6} _temporary_ (4,3,4,5,1,8);
-     array num{6}; _n = 0;
-     do i = 1 to 6;
-       _n + (c(i) = num(i));*如果匹配,加1;
-       if num(i) ^= c(i) then do;
-         p = max(p, _n);  *如果不同,读入较大的P;
- _n = 0;×把指针返回0, 也就是,如果不和中奖号匹配,那么重新计算,但是此时已匹配的个数已经记录下来作为p;
-       end;
-     end;
- p =max(p, _n);
-     if p >= 2 then prize = 8-p;
-     if p = 6 then if num7 = 0 then prize = 1;
-   run;
但是这个问题有个模糊的地方,如果在六位数里,%%%*%%, 其中%为匹配,*为不匹配。这个时候算几等奖?我算做匹配三个,也就是五等奖,虽然它也符合六等奖的条件。