I'm assuming the numbers are all positive. Won't they all be the same if they're not integers?
In[6]:= Maximize[{Times @@ Array[x, 3], (Plus @@ Array[x, 3]) == 100,
Thread[Array[x, 3] > 0]}, Array[x, 3]]
Out[6]= {1000000/27, {x[1] -> 100/3, x[2] -> 100/3, x[3] -> 100/3}}
In[7]:= Maximize[{Times @@ Array[x, 3], (Plus @@ Array[x, 3]) == 100,
Thread[Array[x, 3] > 0]}, Array[x, 3], Integers]
Out[7]= {37026, {x[1] -> 33, x[2] -> 33, x[3] -> 34}}