中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++分解質因數的高效算法

c++
小樊
87
2024-07-14 07:57:21
欄目: 編程語言

#include <iostream>
#include <vector>
using namespace std;

void primeFactors(int n) {
    vector<int> factors;
    while (n % 2 == 0) {
        factors.push_back(2);
        n = n / 2;
    }
    for (int i = 3; i*i <= n; i = i + 2) {
        while (n % i == 0) {
            factors.push_back(i);
            n = n / i;
        }
    }
    if (n > 2) {
        factors.push_back(n);
    }
    cout << "Prime factors of the number are: ";
    for (int i = 0; i < factors.size(); i++) {
        cout << factors[i] << " ";
    }
}

int main() {
    int n;
    cout << "Enter a number to find its prime factors: ";
    cin >> n;
    primeFactors(n);
    return 0;
}

這是一個用于分解質因數的高效算法,首先判斷2是否為n的因數,然后從3開始每次遞增2判斷是否為質因數,直到質因數的平方大于n為止。最后判斷n是否大于2,如果是則加入質因數列表中。輸出結果為輸入的數的所有質因數。

0
嘉荫县| 于都县| 红安县| 灵武市| 莆田市| 花莲县| 长乐市| 峡江县| 黔南| 康马县| 谷城县| 沈阳市| 慈溪市| 巩留县| 厦门市| 庆阳市| 宜阳县| 冕宁县| 丰县| 邹平县| 南投市| 蒙城县| 淮北市| 高密市| 侯马市| 洪泽县| 宿州市| 荥经县| 日照市| 全州县| 马关县| 大安市| 佛冈县| 黄平县| 长沙县| 舞钢市| 兴安盟| 务川| 建平县| 凌源市| 河北省|