View Code of Problem 91

#include"stdio.h"
int main()
{
  int m,i;
  
  scanf("%d",&m);
  int a;
  a=m;
  printf("%d=",a);
  for(i=2;i<=m;i++)  //最小的质数为2,所以i的初值为2,不能是1。
   { 
     while(m!=i)
     {
      if(m%i==0)
      {
      printf("%d*",i);  //不能写成printf("m=%d*",i);因为进入循环后,m的值在不断地改变。
      m/=i;
      }
      else 
        break;
    }  
  }
   printf("%d\n",m);  //该输出不能放到for()语句中,否则会造成满屏输出的情况。
 return 0;
}

Double click to view unformatted code.


Back to problem 91