全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1362 12
2023-02-13

最短代码挑战(Cold Golf)是一项历史悠久,充满趣味的计算机编程游戏。游戏的规则很简单:多人参与,通过计算机编程解决给定的问题,代码字数最少者获胜!


然而,想要获得胜利,并不容易!游戏首先要求写出解决问题的代码,多数情况下都可以轻松做到。关键在于第二关,往往因为多了两三个字符,就与冠军失之交臂。要缩减代码的字数,这非得对程序运行机制深入理解,对各种编程技巧谙熟于心才行。你会是这样的编程高手吗?


本次挑战题为:

请将字符串“4, 2, 6, 4, 1, 7, 5, 9, 2, 1, 6”中的各数字按照升序排列,并将结果“1, 1, 2, 2, 4, 4, 5, 6, 6, 7, 9”打印在日志窗口。为公平起见,字符串已经使用宏变量 d 定义:

%let d=4, 2, 6, 4, 1, 7, 5, 9, 2, 1, 6;

你将使用上述语句作为自己程序的开头,且上述语句不参与字符数计算。


你能给出的最短代码是怎样的?截止 2023-02-20T18:00,给出有效方案,且代码字符数最少的将获得100论坛币奖励

规则如下:

1.  禁止硬编码行为,但允许使用他人的代码为蓝本进行修改;

2. 如使用自定义宏、自定义函数等,则将宏、函数的定义语句的字数也计算在内;

3. 代码按字符进行计数,换行符不计入在内,字符数最少者胜;

4. 程序须可直接运行,正常终止,且日志不得出现错误与警告消息;

二维码

扫码加我 拉你入群

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

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

全部回复
2023-2-13 18:11:58
data;
do i=1 to 9;
do j=1 to countc("&d",i);
put i;
end;
end;
run;
二维码

扫码加我 拉你入群

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

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

2023-2-14 11:11:28
data;array b{99}$;
do i=1 to 99;
b(i)=scan("&d",i,", ");
end;
call sort(of b(*));
c=catx(", ",of b(*));
put c;
run;
二维码

扫码加我 拉你入群

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

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

2023-2-14 22:56:02
data;e=cat("");
do i=1to 9;
do j=1to count("&d",cat(i));
e=catx(", ",e,i);
end;
end;
put e;
run;
二维码

扫码加我 拉你入群

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

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

2023-2-15 09:46:14
data;
length c $999;
do i=0 to 9;
        n=countc("&d",cats(i));
        do j=1 to n;       
        c=catx(",",c,i);
        end;
end;
put c;
run;
二维码

扫码加我 拉你入群

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

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

2023-2-15 09:48:04
data;
do i=0 to 9;
do j=1 to countc("&d",cats(i));
c=cats(i,",");
put c @;
end;
end;
run;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群