卵石矩阵(文件IO)
题目描述
Dave
最近收集了一些有趣的鹅卵石,他想把它们排成一个矩阵,但希望矩阵的行数与列数和最小(注意,鹅卵石的个数可能小于矩阵的行列相乘的结果,如鹅卵石的个数为 \(14\),则可以排成 \(2×7\) 的矩阵,也可以排成 \(3×5\) 的矩阵,也可以排成 \(4×4\) 的矩阵,后两个解中,矩阵的总面积大于鹅卵石的个数,而且 \(3+5=4+4<2+7\),所以 \(3\) \(5\) 和 \(4\) \(4\) 是本例的解)。即输入\(n\),找出当 \(a×b≥n\) 时,\(a+b\) 的最小值。编程帮助 Dave
找到这样的方案。
格式
输入格式
第一行为正整数 \(t(≤50)\),表示数据组数;接下来 \(t\)行,每行一个正整数 \(N\),表示鹅卵石的总数。\((1≤N≤10^5)\)
输出格式
对于每组数据,输出所有满足条件的矩阵行列数,每一行表示一个解,每个解中,矩形边长按从小到大的顺序输出,所有的解中,按第一个数从小到大排序。
样例1
输入样例1
2
14
150
输出样例1
3 5
4 4
10 15
11 14
12 13
样例解释
样例 \(2\) 中,\(10×15=150,11×14=154,12×13=156\) 均为符合条件的长方形,且 \(10+15=11+14=12+13=25\) 为最小的长 \(+\) 宽之和。
来源
地址:芜湖市二十七中电脑班刷题课
作者:汪老师
模拟赛\(T2\)
文件IO
freopen("icon.in","r",stdin);
freopen("icon.out","w",stdout);
相关
在下列训练计划中: