蒟蒻TLE,90分,可能是n范围过大但是不知道怎么改,大佬求教

P1075 [NOIP2012 普及组] 质因数分解

@[Yemengying](/user/1028452) 您这 $O(n^2)$ 做法肯定是过不了的。
by ljlbj_fengyuwuzu @ 2023-07-19 13:40:27


@[Yemengying](/user/1028452) 这题不需要判断是否是质数,也不需要开long long,直接for循环找到一个因数再通过除法得到另一个因数就行了
by _LX_ @ 2023-07-19 13:40:57


addd
by ljlbj_fengyuwuzu @ 2023-07-19 13:41:24


注意原题里的这一句话: 已知正整数 $n$ 是两个不同的质数的乘积
by ljlbj_fengyuwuzu @ 2023-07-19 13:42:19


@[_LX_](/user/590386) 我在判断质数那整了个sqrt过了()
by Yemengying @ 2023-07-19 13:42:29


@[Yemengying](/user/1028452) 不用再判断这两个数是否是质数,因为由题目可证两个数一定都是质数,代码就这么短 ```cpp #include<bits/stdc++.h> using namespace std; int n; int main() { cin>>n;int a=sqrt(n)+1; for(int i=2;i<a;i++) if(n%i==0)return cout<<n/i,0; } ```
by wangchuanle @ 2023-07-19 13:42:41


@[ljlbj_fengyuwuzu](/user/921114) 但是题目没说只为两个质数的乘积吧(可能是我想多了)
by Yemengying @ 2023-07-19 13:42:59


@[Yemengying](/user/1028452) 还是数据水,不然过不了的
by ljlbj_fengyuwuzu @ 2023-07-19 13:44:21


@[Yemengying](/user/1028452) 是说了的 >是两个不同的质数的乘积
by _LX_ @ 2023-07-19 13:45:58


@[wangchuanle](/user/999799) 非常感谢你
by H_com_2012 @ 2023-07-19 17:44:56


|