判读一个数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--;
}
}
}
}