题目描述
虎哥决定推出一系列新的矩形显示器,并决定显示器必须有n个像素。
现在请你帮他确定矩形显示的大小——行数a和列数b,并且要求显示器符合下面条件:
- 显示器上正好有n个像素;
- 行数不超过列数,即a≤b
- b-a的差值尽可能小。
输入
仅有一个整数n (1 ≤ n ≤ 1e6) ,表示显示器上像素的数量。
输出
用一个空格分隔的两个整数a和b
样例输入
8
样例输出
2 4
提示
测试样例2:
输入:64
输出:8 8
测试样例3:
输入:5
输出:1 5
测试样例4:
输入:999999
输出:999 1001
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int len1=0,len2=0;
cin>>n;
for(int i=n;i>=1;i--)
{
if(n%i==0 && i<=n/i)
{
if(len1<i && len2<n/i)
{
len1=i;
len2=n/i;
}
}
}
cout<<len1<<" "<<len2<<endl;
return 0;
}