Если вам нужно X серых в диапазоне от # 000000 (черный) до #ffffff (белый), вам нужно будет разделить 255 / (x-1) и использовать результат в качестве значения шага для Reg, Green и Blue. Чтобы сделать это в Java:
int x = 12;
for (int i = 0; i < x; i++) {
int c = (int) Math.round(i*255.0/(x-1));
System.out.printf("%d. #%02x%02x%02x\n", i, c, c, c);
}
Обратите внимание, что вы должны умножить i на (255.0 / (x-1)), а затем округлить его до целого числа каждый раз, чтобы получить ближайший серый для каждого шага.
Вышеприведенное выдает (что вы просили после редактирования):
0. #000000
1. #171717
2. #2e2e2e
3. #464646
4. #5d5d5d
5. #747474
6. #8b8b8b
7. #a2a2a2
8. #b9b9b9
9. #d1d1d1
10. #e8e8e8
11. #ffffff