Codeforces Round #387 (Div. 2)
题意找最接近的两个数相乘等于给出的数就是了
直接开根号枚举,内循环从根号向上,外循环从根号向下,超出就break,相等输出,这题很善良
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int a=(int)sqrt(n*1.0),b=(int)sqrt(n*1.0);
for(int i=a;i>=1;--i){
for(int j=b;j<=n;++j){
if( i*j == n){
printf("%d %d\n",i,j);
return 0;
}
if(i*j > n)break;
}
}
return 0;
}