ランダムなようで実はランダムではない数字を返すプログラムを作りたいと思っています

ある定数に何かをかけたり割ったりすると
1から4までの間の数字を返す
4,2,3,1,4,2,1,3,2,4,1,2を繰り返すようになる
計算方法は無いでしょうか?

もしあったら教えていただけないでしょうかよろしくお願いいたします