作者letoh (我)
站内Programming
标题Re: [请益] 没有想像中简单的小问题
时间Sat Oct 8 16:00:39 2011
※ 引述《drm343 (一卡那亚)》之铭言:
: 使用 Hack VM 的版本
: 48*0>19+1>32>2<1+3>3<1+4>4<1+5>5<1+6>1200<P<P<p<P14320<P<p<p<p<P165432<p<p<p<p<p<P14320<P<p<p<p<P200<P<P<p
这个题目还真是长青,看了一下最早的信已经是 2009 发出来的了
http://groups.google.com/group/tw.bbs.comp.language/browse_thread/
thread/593d00926e628a0b/8bb1f63f07fd5b2e
(
http://tinyurl.com/4xj6w4m )
没想到这种小练习题有这麽大的吸引力,中间也出现了很多语言的版本,
现在连 hack vm 都出现了,那 forth 也该露个脸啦
一样是在玩 stack,但我相信 forth code 的可读性比 hack vm code 的高一些 ;-)
(为了省指令用了 pforth 的 trick,其他 forth 可能跑不起来)
: put . 8 emit ;
: lead - 1- abs ;
: seq 0 ?do dup i + put loop drop ;
: diamond dup 2* 1- 0 ?do
dup i lead dup spaces 2* over r@ rot - seq cr
loop drop ;
3 diamond
执行结果:
3
345
34567
345
3
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.246.50
1F:→ drm343:看到各种语言实做这题也很有去阿XD 59.113.132.152 10/08 23:38
2F:→ drm343: 作 趣 59.113.132.152 10/08 23:39
3F:→ letoh:我的 hackvm 写好了,跑你的程式正确 :p 140.116.246.50 10/09 03:29
4F:→ letoh:gforth hvm.fs < diamond.h 140.116.246.50 10/09 03:30
5F:推 bigpigbigpig:请参考 #19p2EI1N :) 61.61.252.34 10/11 16:23
6F:→ letoh:没想到 bigpigbigpig 大大会来留言 :) 140.116.246.50 10/11 21:54
7F:→ letoh:我是从外面追过来的,大大的版本似乎没转出 140.116.246.50 10/11 21:55
8F:→ letoh:怪了,连我这篇都没出去...@_@ 140.116.246.50 10/11 21:59