オレもexpand.gridが思い浮かんだ。
>>545と比較すると、

> system.time(max(1:100%o%1:100%o%1:100%o%1:100) )
ユーザ システム 経過
0.711 0.075 0.787
> system.time({df <- expand.grid(a=1:10, b=1:10, c=1:10, d=1:10);df$e <- with(df, a*b*c*d);max(df$e)})
ユーザ システム 経過
0.002 0.000 0.002

圧倒的だな。