分解质因数(C语言实现)

  • 思路:
  • 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;
}

猜你喜欢

转载自blog.csdn.net/weixin_44018859/article/details/88087467