P1075 [NOIP2012 普及组] 质因数分解
题意
求一个数n的因数中最大的质数
思路
- n的因数除1和他本身外,只有两个质数
- 利用for循环找到n的最小因数(同时也为质数)
3.利用break实现只输出较大的那个质数
坑点
无
代码1
#include <stdio.h>
int main(){
int n;
scanf(“%d”,&n);
for (int i=2;i<n;i++){
if(n%i==0){
printf(“%d”,n/i);
break;
}
}
return 0;
}
实现步骤
- 输出一个数n
- 利用for循环从小往大求n的公因数i,因为n的公因数除1和它本身外,有且仅有两个质数,所以求得的i为最小质数
3.输出n/i得出n公因数中的最大质数
4.输出最大的质数后,break实现中断