编程题

构造性证明

题目描述

关于数学定理证明,也有高下之分。最暴力的证明方法是“构造性证明”,即当需要证明某种解存在时,直接把解构造出来,而不是仅通过推理证明解之存在。

下面有一个定理:

设ai(i=1,...,5)均为正实数。则一定存在4个互不相同的下标 i、j、k、l,使得|ai/aj - ak/al|<1/2。

作为程序员,就请你编写程序构造出正确的下标,验证这个结论。

输入

输入一行中顺序给出5个正实数。为保证计算中不产生浮点溢出,我们令输入的数字在[10^-10,10^10]区间内,且小数点不超过10位小数。

输出

在一行中首先输出使得定理结论成立的下标有多少套,随后输出最小的一套下标。数字间以1个空格分隔,行尾不得有多余空格。

输入样例

3.12  5.27  0.0007  9825.4413  10

输出样例

18 1 4 3 2


查看答案
赣ICP备20007335号-2