У меня было интервью на прошлой неделе. они попросили меня написать код для печати следующим образом:
input :5
0
101
21012
3210123
432101234
54321012345
Я написал приведенный ниже код, но он сказал, что могу оптимизировать это больше. Я не могу понять это. ,
int main(){
int n,i,j,k,lim,num;
scanf("%d",&n);//getting input starting number of last row
lim=n;
int collen=n+2;//it denotes end of row
for(i=0;i<n+1;i++)
{
num=i;
k=0;
for(j=0;j<collen-1;j++){
if(j<lim)
printf(" ");
else if(num<0){
printf("%d",++k);
}
else{
printf("%d",num--);
}
}//j for
printf("\n");
collen++;
lim--;
}//i for
}// main end
у меня другой код с первой попытки, я использовал флаг, чтобы определить, когда num достигает для увеличения и уменьшения, было сложно, было около 4, если во втором цикле, поэтому я оптимизировал этот код довыше одного. он сказал, вы можете оптимизировать больше? я понятия не имею, как его оптимизировать.
мой вопрос: можно ли его оптимизировать?, если это возможно, пожалуйста, отправьте код