给你一个正整数n�,请你将它分成三个正整数,使得这三个数的和为n�,并且它们的乘积最大。请你按照从小到大的顺序输这三个数。
输入格式
一行,一个正整数n�。
输出格式
一行,为三个满足题目要求的正整数,相邻两个数之间用一个空格隔开。
样例输入
7
样例输出
2 2 3
数据范围
对于100%100%的数据,保证3≤n≤10003≤�≤1000。
#include<bits/stdc++.h>
using namespace std;
int n, ma = 0, a, b, c;
int main(){
scanf("%d", &n);
for(int i = 1; i <= n;i++)
for(int j = i;j <= n;j++)
for(int k = j;k <= n;k++)
if((i + j + k == n) && (i * j * k > ma)){
ma = i * j * k;
a = i;
b = j;
c = k;
}
printf("%d %d %d\n",a,b,c);
return 0;
}