设有如下代码,请对其进行优化

设有如下代码,请对其进行优化:
for (i = 0; i < n; i++) {
int ni = n*i;
for (j = 0; j < n; j++)
a[ni + j] = b[j];
}

for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
a[ n*i+ j] = b[j];
}

for (i = 0; i < n; i++) {
  for (j = 0; j < n; j++)
      a[n*i+ j] = b[j];
}
int ni = 0;
for (i = 0; i < n; i++) {
  for (j = 0; j < n; j++)
    a[ni + j] = b[j];
  ni += n;     
}

代码里 乘法比加法运行速度慢

for(i = 0; i < n*n; i++) {
  int j = i%n;
  a[i] = b[j];
}