分解质因数(C语言实现)
程序员文章站
2024-02-02 18:35:22
...
- 思路:
- 1.首先找到一个最小的质数k,最小的质数为2
2.如果这个质因数k等于n那么分解过程就结束了
3.如果k不等于n,但是n可以被k整除,那么输出这个k,并用n/k(n除以k)作为n的新值,并重复步骤2(用循环)
4.如果n不能被k整除,那么是k=k+1; 重复执行第2步
注意:仔细理解2,3,4的循环步骤,可在纸上演练一遍
#include<stdio.h>
int main()
{
int n;
while(~scanf("%d",&n))
{
int k;//k代表质数
for(k=2;k<n;k++)//给k值赋值一个最小的质数2
{
while(n!=k)
{
if(n%k==0)
{
printf("%d*",k);
n=n/k;
}
else
break;//如果不能整除,那么就让k++(先跳出while循环在k++)
}
}
printf("%d\n",n);
}
return 0;
}