#207. “讨厌”的最值问题
“讨厌”的最值问题
题目描述
小 J 真是非常喜欢数学,可是最近在学而思学的最值问题真的很讨厌,因为他总是搞不懂!
他的例题里有一道这样的题:
请求出和为 10 的 3 个互不相同的正整数中,最大的数最小是多少?最小的数最大是多少?
小 J 由“鸽笼原理”(也叫抽屉原理)可以知道,最大的数一定要大于 3,否则 3 个小于等于 3 的数的和最大只能是 9。而当最大的数为 4 时,剩余的两个互不相同的数的和必须是 6,那么一定有一个数也要大于3,因此最大的数最小不能是 4,得是5,当三个数分别为 2、3、5 时,满足要求。同样的道理,最小的数最大不能是 3,只能是 2。
可是,随堂测中的数都比较大,小就懵了。现在他想请你来帮他编个程序计算一下!作为编程高手的你,当然是爽快地答应人家啦!
输入格式
输入一个正整数,表示需要求 3 个互不相同的正整数的和为的情况。
输出格式
输出两个正整数和,中间用一个空格隔开。其中表示满足和为的 3 个数中最大的数的最小值,表示满足和为的 3 个数中最小数的最大值。
若不存在这样的和,输出 -1 -1。
输入输出样例
3
-1 -1
6
3 1
17
7 4
说明/提示
-
一定要注意是 3 个互不相同的正整数。
-
程序设计的方法可能与题目描述的思路不同,题目描述的是解数学题时的思维,有时候也可以通过计算机循环找出答案。