题解 | #质数因子#用vector以及奇数性质实现
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <iostream> #include <vector> using namespace std; void GetPrimeFactor(long num) { vector<int> vec; //先除以2,将所有的2除尽 while (num % 2 == 0) { vec.push_back(2); num = num / 2; } //由于质数肯定是奇数,直接从3开始遍历进行除法运算。 for (int i = 3;i <= num;i += 2) { while (num % i == 0) { vec.push_back(i); num = num / i; } } for (int i = 0; i < vec.size(); i++) { cout << vec[i] << ' '; } } int main() { long num; cin >> num; GetPrimeFactor(num); return 0; }