C++分解质因数的递归和非递归方法

   2024-10-06 7840
核心提示:非递归方法:#include iostream#include vectorusing namespace std;void primeFactors(int n) {vectorint factors;for (int i =

非递归方法:

#include <iostream>#include <vector>using namespace std;void primeFactors(int n) {    vector<int> factors;    for (int i = 2; i <= n; i++) {        while (n % i == 0) {            factors.push_back(i);            n /= i;        }    }    for (int i = 0; i < factors.size(); i++) {        cout << factors[i];        if (i != factors.size() - 1) {            cout << " * ";        }    }}int main() {    int n;    cout << "Enter a number: ";    cin >> n;    cout << "Prime factors of " << n << " are: ";    primeFactors(n);    return 0;}

递归方法:

#include <iostream>using namespace std;void primeFactors(int n, int i) {    if (n <= 1) {        return;    }    while (n % i != 0) {        i++;    }    cout << i;    if (n != i) {        cout << " * ";    }    primeFactors(n / i, i);}int main() {    int n;    cout << "Enter a number: ";    cin >> n;    cout << "Prime factors of " << n << " are: ";    primeFactors(n, 2);    return 0;}

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号