分解质因数

来源:互联网 发布:cdn搭建软件 编辑:程序博客网 时间:2024/04/28 11:50

/**
*
* fenjie.c
* vesion:1.0  2006-9-12
* auther:jsp
*/
#include"stdio.h"

void main()
{
 int value;//待分解的数
 int cpvalue;//用于最后判断value本身是否是质数
 int i,ii;//循环变量
 int yn = 1;//判断被除数是否是质数的变量
 

 printf("/n/tinput a num:");
 scanf("%d",&value);  //给value赋值
 cpvalue=value;

 printf("/t%d分解质因数为:",value);
   
 for(i = 2 ; i <= value / 2 ; )
 {
  for(ii = 2; ii < i/2; ii++)//判断被除数是否是质数
  { 
   if(i % ii == 0 )
   { 
    yn = 0;
    break;
   }
  }
  
  if((yn == 1) && ((value % i)==0))//判断是否能被整除
  {
   printf("%d*",i);
   value = value / i;
   i = 2;//恢复循环变量到初始值
  }
  else
  {
   i++;//循环变量递增
  }
  yn = 1;
 }

 if(value != cpvalue)
  printf("%d./n",value);
 else
  printf("1*%d./n",value);
}
 

原创粉丝点击