今日学习笔记:
感谢题解第一个牛友,感觉一下子有了思路还变简单了,太妙了,直接从1开始遍历,最后一个符合的数就是最大的且最相近
#include<stdio.h>
#include<math.h>
int main()
{
    int n,length,width,i;
    scanf("%d",&n);
    for (i=1;i<=sqrt(n);i++) {
        if (n%i==0) {
            width=i;
        }
    }
    length=n/width;
    printf("%d %d",width,length);
    return 0;
}
(以下为复制内容,为了我以后可以更快的复习)
一个数的如果是合数,必定可以写成c = a X b,而a或者b其中必定有一个数小于等于c的开平方
比如16 = 1X16=2X8=4X4
所以只需要找出最小值中的最大值就行