二進累乗アルゴリズム をヒントに。普通に 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 )