0〜9やa〜zの配列の要素から3個を選んだときの重複順列を数え上げたければ、

p ('000'..'999').to_a
p ('aaa'..'zzz').to_a

ですみます。
平仮名で同様のことをしようと

# -*- coding: cp932 -*-
p ('あああ'..'んんん').to_a

とするとパソコンが止まりました。(上記コードは実行しないでください。
なぜ上手くいかないか知ろうと、

# -*- coding: cp932 -*-
p ('ああ'..'んん').to_a

を実行すると、
重複順列に「あ〜ん以外の別の文字が混ざっている」ことがわかりました。
なぜ、「あ〜ん以外の別の文字が混ざる」か教えてください。