不了解求帮助

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

~~哈哈这题都写不出来,还被封号了,你是想当封号斗罗了吗,太逊了!!~~ 以上都是~~认真的~~开玩笑的, ## 我将告诉你这题如何解!!!!!^\\/^ 首先要知道唯一分解定理:一个数能且只能分解为一组质数的乘积。可知,若输入的数满足题目条件,他就只能分解为两个质数的乘积。所以在比他小且大于1的自然数中,只有那两个数能整除它,之间不可能再有任何合数或质数能整除它了,因为最小的能整除它的合数已经是他本身了。 所以代码就很容易实现了 ```c++ #include<cstdio> int main() { int n; scanf("%d",&n); for(int i=2;i<=n;++i) if(n%i==0) { printf("%d",n/i); return 0; } } ``` 还可以优化,将$i<=n$,变成$i<=sqrt(n)$,**还可再次简化**,变成$i<=n/i$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 所以代码就很容易实现了 ```c++ #include<cstdio> int main() { int n; scanf("%d",&n); for(int i=2;i<=n/i;++i) if(n%i==0) { printf("%d",n/i); return 0; } } ```
by liyixuan2024 @ 2023-08-30 17:35:20


@[liyixuan2023](/user/995838) Ta果然是~~封号斗罗~~manuibi
by liyixuan2024 @ 2023-08-30 17:40:51


|