关于TLE 60ps

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

为什么要写这么复杂呢qwq 已知$n$为两个质数的乘积,我们只需要从0枚举到$\sqrt[]{n}$只要$i$能整除$n$就除以$i$得到的就是最大的质数$p$啊... ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; for(int i = 2; i <= sqrt(n); i++){ if(n % i == 0){ cout << n / i << endl; break; } } return 0; } ``` **本蒟蒻很菜,求大佬轻喷**
by IeoA @ 2023-07-18 10:26:28


@[IeoA](/user/1031647) 有个问题就是题目说n为两个质数乘积但是没说只为两个质数乘积,也可能为合数的乘积……
by Yemengying @ 2023-07-19 13:39:51


@[Yemengying](/user/1028452) ## 已知正整数 $n$ 是两个不同的质数的乘积 但是题目已经说了$n$为两个质数的乘积,他就只能为两个质数相乘啊...,为两个质数的乘积则只有四个因数除去$1$和它本身,只有两个质数,不可能会有合数因数啊...
by IeoA @ 2023-07-19 16:17:39


感谢各位大佬相助
by _HJS_ @ 2023-07-20 19:40:25


@IeoA也就是说这道题的最优解是将这一个数的最小质数值求出来后,再用原数去除以这个数即可是吗?
by _HJS_ @ 2023-07-20 19:48:34


已关注,求互关
by _HJS_ @ 2023-07-20 19:50:00


本人脑瘫,想不到正解,就想着暴力
by _HJS_ @ 2023-07-20 19:52:50


@[_HJS_](/user/918770) en
by IeoA @ 2023-07-22 18:37:06


谢谢
by _HJS_ @ 2023-07-22 19:01:45


@[IeoA](/user/1031647) 这里枚举出的i不是可能是合数吗,为什么可以这样写
by shr123 @ 2023-07-23 13:54:41


| 下一页