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

该博客主要讨论了P1075 NOIP2012普及组的质因数分解问题,即如何找到一个数n的最大质因数。通过两种不同的for循环实现方式,分别从最小和最大公因数的角度出发,找到并输出n的质因数。代码展示和解释了如何利用break中断循环以输出最大质因数,并强调了n由两个不同质数相乘的事实,以及时间复杂度考虑。
摘要由CSDN通过智能技术生成

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

题目链接

题意

求一个数n的因数中最大的质数

思路

  1. n的因数除1和他本身外,只有两个质数
  2. 利用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;
}

实现步骤
  1. 输出一个数n
  2. 利用for循环从小往大求n的公因数i,因为n的公因数除1和它本身外,有且仅有两个质数,所以求得的i为最小质数
    3.输出n/i得出n公因数中的最大质数
    4.输出最大的质数后,break实现中断
代码2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值