作者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