文字列のリフレイン

二進累乗アルゴリズム をヒントに。普通に text を n 回足していくより効率がいいんじゃないかと思います。

#module
#defcfunc refrain str text, int n
    if( n <= 0 ) : return ""
    if( n == 1 ) : return text
    if( n \ 2 == 0 ) {
        return refrain( text + text, n / 2 )
    } else {
        return refrain( text + text, n / 2 ) + text
    }
#global

mes refrain( "hoge", 3 )

インフォメーション

公開日時
2007年12月8日 午後8時37分15秒
最終更新日時
2007年12月20日 午後10時21分11秒
カテゴリ
HSP