有一列队编号从1至50,取出编号是奇数的,从新排队,继续取出奇数号,直至最后留一位,请问最后一位的编号是多少?公布了用IML实现的结果,看看DATA步怎么实现?
%let xx=50;
proc iml;
x=j(1,&xx,0);
do i =1 to &xx;
x[1,i]=i;
end;
z=ncol(x);
do while (z>=2);
x=x[1,2*(1:int(z/2))];
z=ncol(x);
end;
print x;
quit;
/*上面是过程,下面是计算公式*/
y=2**(int(log10(&XX)/log10(2)));
print y;