用递归法求因式分解

来源:互联网 发布:爱信诺税控开票软件 编辑:程序博客网 时间:2024/06/13 04:04

偶尔在网上看到这个题目,但是他们所用的方法,无论是迭代还是递归,感觉都不够简洁。我想,这个看起来很简洁的抽象,应该有简单的方法,后来终于想出来了。

求一个整数的分解因式,如36=2*2*3*3;

代码如下:

//zhangjun03402@163.comvoid  fact(int n){     int i;    for(i=2; i<=n; i++)        if( n%i == 0 ){            if(i==n) //最后一个因子                printf("%d", i);            else                printf("%d*", i);            fact(n/i);            break;        }}


原创粉丝点击