for(i=1;i<=1000000;i++){a[i]=1}
と
for(i=1;i<=1000000;i++){a[i]=sprintf("1")}
結果は同じはずなのに、後者は異常にメモリを食う!ふしぎ!