错了一个测试点,超时了一个测试点 为什么从sqrt(n)开始查找会错,但从2开始查找就不会错?
#include <stdio.h> #include <math.h> int main(void) { int n, i; scanf("%d", &n); for (i = sqrt(n); ; i ++) if (n % i == 0) { printf("%d", i); break; } return 0; }