C语言 分解质因数。例如:输入90,打印出90=2*3*3*5。

将一个正整数分解质因数。例如:输入90,打印出90=233*5。
1.程序分析:用短除法求解。
对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,n本身就是质数,打印出n即可。
(2)如果n!=i,但n能被i整除,则应打印出i的值,并用n除以i的,作为新的正整数n,重复执行第一步。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
2.上代码:

#include "stdio.h"
main()
{
  int n,i;
  printf("\n输入一个数:\n");
  scanf("%d",&n);
  printf("%d=",n);//原样输出 
  for(i=2;i<=n;i++)
    while(n!=i)
    {
      if(n%i==0)
      {
        printf("%d*",i);//原样输出 
        n=n/i;//根据短除法,用商作新的n,即被除数。接着重复循环判断操作。 
      }
      else//等价于if(n%i!=0),哪个简洁用哪个。 
        break;
    }
  printf("%d",n);//原样输出 
}

C语言 分解质因数。例如:输入90,打印出90=2*3*3*5。_第1张图片

你可能感兴趣的:(#,C程序流程设计,#,C语言编程,分解质因数。例如:输入90,打印出90=2*3*3*5。)