Просто чтобы добавить больше путаницы в тему:
Если вы печатаете max только в первых двух случаях, вы можете сделать что-то вроде: (не на каком-либо конкретном языке)
//for 0
printf("i = %d, n = %d\n",i,max)
//for 1
printf("i = %d, n = %d\n",i,max)
//for the rest
for (i = 2; i<nb;i++) {
printf("i = %d, n = %d\n",i,na - (i * max));
}
Вы можете избежать оператора, делающего два для циклов
for (i = 0; (i + 1) * max) > na AND i < nb;i++) {
printf("i = %d, n = %d\n",i,0);
}
for (; i<nb;i++) {
printf("i = %d, n = %d\n",i,na - (i * max));
}