约数专题
求一个数的约数个数
代码:
#include<bits/stdc++.h>
using namespace std;
#define cout(x) printf("%d",x)
#define cin(x) scanf("%d",&x)
#define ll long long
int fun(int x){
vector<int>v;
for(int i=1;i<=x/i;i++){//!
if(x%i==0){
v.push_back(i);
if(i!=x/i)v.push_back(x/i);
}
}
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++){
cout<<v[i]<<" ";
}
}
int main(){
int n,a;
cin>>n;
for(int i=0;i<n;i++){
cin>>a;
fun(a);
cout<<endl;
}
return 0;
}
注意
1.i<=x/i
2.用vector省空间
3.vector的用法v.begin和v.end
4.注意if(i!x/i)否则会重(25=5*5)