谨以此文,纪念我的第一篇题解。
题目链接
先输入
n
n
n,再用上
i
i
i 这个变量。
因为
n
n
n 仅是两个质数的积,所以
i
i
i 循环到小的质数时
(
n
m
o
d
i
=
0
)
(n\bmod i=0)
(nmodi=0),循环就可以用break
跳出了,最后再输出
n
i
\dfrac{n}{i}
in。
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;//输入n的值
for(int i=2;i*i<=n;i++) if(n%i==0) {cout<<n/i;break;}//把小质因数的值赋给i
return 0;//结束
}
综上所述,循环结束的条件就是
i
2
≤
n
i^2\le n
i2≤n,for的二区也应是i*i<=n
。