Description
输入一个正整数,输出它的所有质数的因子(如180的质数因子为2、2、3、3、5)
Input
Output
Sample Input
180
Sample Output
2 2 3 3 5
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=2;i<=n;i++)
{
while(n%i==0)
{
printf("%d ",i);
n=n/i;
}
}
}
}
总结:其实是给它的任意两个因子分解成若干个质数!先从2这个质数开始除,把所有的2除玩;再除3这个质数,把所有的3除光;到4,而4是2的倍数,再除2时就没了;再到5,也就是说每一个非质数的因子都可以被两个质数因子或两个以上的质数分解!例如4=2*2;6=2*3;18=2*3*3;