题目描述

根据数论的知识可知,任何一个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数。例如:24=2×2×2×3。现在从键盘输入一个正整数,请编程输出它的所有质因数

输入要求

从键盘输入一个正整数n,n<100000。

输出要求

输出该整数的所有质因数。

输入样例

180

输出样例

2 2 3 3 5

代码实现

#include <stdio.h>


int main()

{
    int n,i; 
    scanf("%d",&n);
 
  	for(i=2;i<=n;i=i)
     {
	    while (i<=n)
       {    
       if (n%i==0 && i!=n) {printf("%d ",i);break;}
       else if (n%i==0 && i==n) {printf("%d",i);break;}
       else i=i+1;
       }  
    n=n/i;
     }         
 
  printf("\n");
  return 0;


}

更多推荐

C语言之分解质因数