Island Life

< "Before the Startup" | 翻訳のセルフチェック >

2014/10/09

算盤のAA

こんなのを見かけたので別解を

  • (Gauche) 2chお題「そろばんAA」
    お題: 
    整数n(0<=n<1000000)をソロバンのAAに変換するプログラムを書け 
    
    n=9563なら 
    ######## 
    #oo|||o# 
    #||ooo|# 
    ######## 
    #||o|oo# 
    #oooo|o# 
    #oooooo# 
    #ooooo|# 
    #oo|ooo# 
    ######## 
    

最初、見かたがわからなかったのだけど、縦一列が一桁なのね。

最後の式は リストの転置の定番 (apply map list xs) の応用。

お題の通りでなくて良ければ、むしろ最後の式をこうした方が:

(for-each print (apply map list (num->columns num width)))

結果が見やすいかもしれないと思った:

gosh> (soroban 1234567890)
(# # # # # # # # # #)
(o o o o | | | | | o)
(| | | | o o o o o |)
(# # # # # # # # # #)
(o o o o | o o o o |)
(| o o o o | o o o o)
(o | o o o o | o o o)
(o o | o o o o | o o)
(o o o | o o o o | o)
(# # # # # # # # # #)

Tags: Programming, Gauche

Post a comment

Name: