```
int integerBreak(int n)
{
int max=0;
for(int i=2;i<=n;i++)
{
int j=n%i;
int k=pow(n/i,i-j)*pow(n/i+1,j);
if(k>max)max=k;
}
return max;
}
```

I can not prove it,so I just want to see if the solution is right