判斷素數因子

判讀一個數A的素數因子,首先判斷這個數A是否是素數,如果是,素數因子就只有1與本身。如果不是,就從2開始循環取一個數B,如果取的數B是素數,就判斷取到的數B是否是這個數A的因子,如果是就把A除以B。一直循環。
在這裏插入圖片描述

C++實現代碼

#include <iostream>
using namespace std;

int main()
{
    int number;
    cout << "輸入一個整數\n";
    cin >> number;

    // 判斷這個數是否是質數
    int prime_count = 0;
    for (int i = 1; i <= number; i++) {
        if (number % i == 0) {
            prime_count++;
        }
    }
    if (prime_count == 2||prime_count==1) {
        cout << 1 << "\t" << number;
    }else
    {
        for (int i = 2; i <= number; i++) {
            for (int j = 2; j < i; j++) {
                if (!i % j == 0)
                    continue;
            }
            if (number % i == 0) {
                cout << i << "\t";
                number /= i;
                i--;
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章