试除法求约数
-
#include<iostream> #include<algorithm> #include<vector> using namespace std; vector<int> div(int n) { vector<int> res; for(int i=1;i<= n/i ;i++) { if(n % i == 0) { res.push_back(i); //整除就加 if(n/i != i) res.push_back(n/i); //只要两个约数不一样 就加 } } sort(res.begin(),res.end()); return res; } int main() { int n; cin>>n; while(n--) { int a; cin>>a; auto res = div(a); for(auto t : res) cout<<t<<" "; cout<<endl; } }