问题:
每个合数都可以写成几个质数相乘的形式。其中每个质数是这个合数的因数,叫做这个合数的分解质因数。
输出样例:
输入样例:28;
输出样例:28 = 2 * 2 * 7;
分析:
1、合数是相对于质数(素数)的概念;
2、可以先对这个合数进行任意分解(i,j);
3、对分解出来的因数分别进行判断,如果为素数则记录为结果之一进行输出,如果不是则继续分解,直至分解到不能在分解(最小的素数为2,即传入的参数不能小于2);
4、综上分析使用递归解决:
出口:传入参数小于2则停止;
函数体: 如果传入的参数不为素数,则进行分解;
递归调用: 分解后调用自身;
完整代码实现:
#include <iostream>
#include <vector>
using namespace std;
vector<