Bootstrap

Daimayuan Online Judge 三数乘积

给你一个正整数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;

;