一个数的如果是合数,必定可以写成c = a X b,而a或者b其中必定有一个数小于等于c的开平方
比如16 = 1X16=2X8=4X4
所以只需要找出最小值中的最大值就行
#include <stdio.h>
#include <math.h>
int main()
{
int i,n,max;
max = 0;
scanf("%d", &n);
for (i = 1;i<=sqrt(n);i++)
{
if (n % i == 0)
max = i;
}
printf("%d %d", max, n/max);
return 0;
}
京公网安备 11010502036488号