为什么会超时?
原题链接:234.质因数分解2025-07-15 21:05:37
发布于:江西
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n, p;
    cin >> n;
    for(int i = 2; i <= sqrt(n) + 1; i ++)
        {
           if(n % i == 0)
           {
               int cnt = 0;
               for(int j = 1; j <= i; j ++)
                   {
                       if(i % j == 0)
                           cnt ++;
                   }
               if(cnt == 2)
                   p = i;
               int count = 0;
               for(int j = 1; j <= n / i; j ++)
                   {
                       if(i % j == 0)
                           count ++;
                   }
               if(count == 2)
                   p = n / i;
           }
        }
    cout << p;
    return 0;
}
哪位大神教一下?
全部评论 1
已解决
2025-07-16 来自 江西
0







有帮助,赞一个