判讀一個數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--;
}
}
}
}