求解质因数

/* * =====================================================================================
 *
 *       Filename:  prime_factor.c
 *
 *    Description: 求质因数 
 *
 *        Version:  1.0
 *        Created:  2013年11月19日 14时13分56秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Wenxian Ni (Hello World~), niwenxianq@qq.com
 *   Organization:  AMS/ICT
 *
 * =====================================================================================
 */


#include <stdio.h>

void prime_factor(int n)
{
    int i;
    for(i=2;i*i<=n;i++)
    {
        //这里只需要循环一次就可以了
        if(n%i==0)
        {
            printf("%d ",i);
            n /= i;
            i--;
        }
    }
    
}

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        prime_factor(n);
        printf("\n");
    }
    return 0;
}
1. 或许还有更好的方法
posted @ 2013-11-19 14:23  海滨银枪小霸王  阅读(163)  评论(0)    收藏  举报