突然で申し訳ありませんが、
y[3] = number % 10;
y[2] = (number / 10) % 10;
y[1] = (number / 100) % 10;
y[0] = (number / 1000) % 10;
の(number / 1000) % 10;が何をしているのか分かりません。
どなたか教えていただけないでしょうか?